graphql 15.3.0 → 15.5.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 (337) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +10 -0
  3. package/error/GraphQLError.js +8 -8
  4. package/error/GraphQLError.js.flow +2 -3
  5. package/error/GraphQLError.mjs +2 -2
  6. package/error/formatError.js +1 -1
  7. package/error/formatError.js.flow +0 -1
  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 +10 -4
  13. package/error/locatedError.mjs +6 -4
  14. package/error/syntaxError.js +1 -1
  15. package/error/syntaxError.js.flow +0 -1
  16. package/execution/execute.d.ts +0 -15
  17. package/execution/execute.js +104 -104
  18. package/execution/execute.js.flow +119 -133
  19. package/execution/execute.mjs +86 -82
  20. package/execution/index.js +3 -3
  21. package/execution/index.js.flow +0 -1
  22. package/execution/values.js +11 -11
  23. package/execution/values.js.flow +0 -1
  24. package/graphql.js +5 -5
  25. package/graphql.js.flow +0 -1
  26. package/index.d.ts +1 -0
  27. package/index.js +9 -9
  28. package/index.js.flow +0 -1
  29. package/jsutils/ObjMap.js.flow +0 -1
  30. package/jsutils/Path.js.flow +0 -1
  31. package/jsutils/PromiseOrValue.js.flow +0 -1
  32. package/jsutils/defineInspect.js +2 -2
  33. package/jsutils/defineInspect.js.flow +0 -1
  34. package/jsutils/devAssert.js.flow +0 -1
  35. package/jsutils/didYouMean.js.flow +0 -1
  36. package/jsutils/identityFunc.js.flow +0 -1
  37. package/jsutils/inspect.js +1 -2
  38. package/jsutils/inspect.js.flow +10 -8
  39. package/jsutils/inspect.mjs +1 -1
  40. package/jsutils/instanceOf.js +15 -9
  41. package/jsutils/instanceOf.js.flow +13 -7
  42. package/jsutils/instanceOf.mjs +13 -5
  43. package/jsutils/invariant.js.flow +0 -1
  44. package/jsutils/isAsyncIterable.js +13 -0
  45. package/jsutils/isAsyncIterable.js.flow +14 -0
  46. package/jsutils/isAsyncIterable.mjs +10 -0
  47. package/jsutils/isObjectLike.js.flow +0 -1
  48. package/jsutils/isPromise.js.flow +0 -1
  49. package/jsutils/keyMap.js.flow +0 -1
  50. package/jsutils/keyValMap.js.flow +0 -1
  51. package/jsutils/mapValue.js +1 -1
  52. package/jsutils/mapValue.js.flow +0 -1
  53. package/jsutils/memoize3.js +2 -5
  54. package/jsutils/memoize3.js.flow +2 -5
  55. package/jsutils/memoize3.mjs +2 -5
  56. package/jsutils/naturalCompare.js +69 -0
  57. package/jsutils/naturalCompare.js.flow +59 -0
  58. package/jsutils/naturalCompare.mjs +61 -0
  59. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  60. package/jsutils/printPathArray.js.flow +0 -1
  61. package/jsutils/promiseForObject.js.flow +0 -1
  62. package/jsutils/promiseReduce.js +1 -1
  63. package/jsutils/promiseReduce.js.flow +0 -1
  64. package/jsutils/safeArrayFrom.js +73 -0
  65. package/jsutils/safeArrayFrom.js.flow +59 -0
  66. package/jsutils/safeArrayFrom.mjs +66 -0
  67. package/jsutils/suggestionList.js +5 -1
  68. package/jsutils/suggestionList.js.flow +3 -2
  69. package/jsutils/suggestionList.mjs +3 -1
  70. package/jsutils/toObjMap.js +1 -1
  71. package/jsutils/toObjMap.js.flow +0 -1
  72. package/language/ast.js +1 -1
  73. package/language/ast.js.flow +0 -1
  74. package/language/blockString.d.ts +1 -1
  75. package/language/blockString.js +53 -32
  76. package/language/blockString.js.flow +51 -36
  77. package/language/blockString.mjs +54 -33
  78. package/language/directiveLocation.js.flow +0 -1
  79. package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
  80. package/language/experimentalOnlineParser/grammar.js +987 -0
  81. package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
  82. package/language/experimentalOnlineParser/grammar.mjs +980 -0
  83. package/language/experimentalOnlineParser/index.d.ts +6 -0
  84. package/language/experimentalOnlineParser/index.js +31 -0
  85. package/language/experimentalOnlineParser/index.js.flow +7 -0
  86. package/language/experimentalOnlineParser/index.mjs +1 -0
  87. package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
  88. package/language/experimentalOnlineParser/onlineParser.js +604 -0
  89. package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
  90. package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
  91. package/language/index.js +12 -12
  92. package/language/index.js.flow +0 -1
  93. package/language/kinds.js.flow +0 -1
  94. package/language/lexer.js +242 -183
  95. package/language/lexer.js.flow +188 -184
  96. package/language/lexer.mjs +238 -179
  97. package/language/location.js.flow +0 -1
  98. package/language/parser.js +73 -68
  99. package/language/parser.js.flow +62 -57
  100. package/language/parser.mjs +64 -60
  101. package/language/predicates.js +1 -1
  102. package/language/predicates.js.flow +0 -1
  103. package/language/printLocation.js +1 -1
  104. package/language/printLocation.js.flow +0 -1
  105. package/language/printer.js +20 -13
  106. package/language/printer.js.flow +26 -25
  107. package/language/printer.mjs +18 -11
  108. package/language/source.d.ts +7 -0
  109. package/language/source.js +20 -3
  110. package/language/source.js.flow +21 -3
  111. package/language/source.mjs +14 -1
  112. package/language/tokenKind.js.flow +0 -1
  113. package/language/visitor.js +2 -2
  114. package/language/visitor.js.flow +0 -1
  115. package/package.json +2 -3
  116. package/polyfills/arrayFrom.js +2 -2
  117. package/polyfills/arrayFrom.js.flow +1 -2
  118. package/polyfills/arrayFrom.mjs +1 -1
  119. package/polyfills/find.js +1 -1
  120. package/polyfills/find.js.flow +1 -2
  121. package/polyfills/find.mjs +1 -1
  122. package/polyfills/isFinite.js +1 -1
  123. package/polyfills/isFinite.js.flow +1 -2
  124. package/polyfills/isFinite.mjs +1 -1
  125. package/polyfills/isInteger.js +1 -1
  126. package/polyfills/isInteger.js.flow +1 -2
  127. package/polyfills/isInteger.mjs +1 -1
  128. package/polyfills/objectEntries.js +1 -1
  129. package/polyfills/objectEntries.js.flow +1 -2
  130. package/polyfills/objectEntries.mjs +1 -1
  131. package/polyfills/objectValues.js +1 -1
  132. package/polyfills/objectValues.js.flow +1 -2
  133. package/polyfills/objectValues.mjs +1 -1
  134. package/polyfills/symbols.js +3 -5
  135. package/polyfills/symbols.js.flow +9 -6
  136. package/polyfills/symbols.mjs +3 -5
  137. package/subscription/index.js +1 -1
  138. package/subscription/index.js.flow +0 -1
  139. package/subscription/mapAsyncIterator.js +2 -2
  140. package/subscription/mapAsyncIterator.js.flow +8 -9
  141. package/subscription/mapAsyncIterator.mjs +1 -1
  142. package/subscription/subscribe.js +61 -73
  143. package/subscription/subscribe.js.flow +71 -85
  144. package/subscription/subscribe.mjs +53 -65
  145. package/type/definition.d.ts +16 -6
  146. package/type/definition.js +37 -32
  147. package/type/definition.js.flow +93 -63
  148. package/type/definition.mjs +19 -14
  149. package/type/directives.js +17 -16
  150. package/type/directives.js.flow +20 -13
  151. package/type/directives.mjs +6 -5
  152. package/type/index.js +6 -6
  153. package/type/index.js.flow +0 -1
  154. package/type/introspection.js +86 -65
  155. package/type/introspection.js.flow +75 -43
  156. package/type/introspection.mjs +79 -58
  157. package/type/scalars.js +9 -9
  158. package/type/scalars.js.flow +1 -2
  159. package/type/scalars.mjs +1 -1
  160. package/type/schema.js +13 -13
  161. package/type/schema.js.flow +2 -3
  162. package/type/schema.mjs +1 -1
  163. package/type/validate.js +52 -19
  164. package/type/validate.js.flow +54 -8
  165. package/type/validate.mjs +43 -9
  166. package/utilities/TypeInfo.js +7 -7
  167. package/utilities/TypeInfo.js.flow +1 -2
  168. package/utilities/assertValidName.js +2 -2
  169. package/utilities/assertValidName.js.flow +0 -1
  170. package/utilities/astFromValue.js +14 -16
  171. package/utilities/astFromValue.js.flow +6 -7
  172. package/utilities/astFromValue.mjs +6 -7
  173. package/utilities/buildASTSchema.js +17 -27
  174. package/utilities/buildASTSchema.js.flow +5 -21
  175. package/utilities/buildASTSchema.mjs +11 -21
  176. package/utilities/buildClientSchema.js +16 -15
  177. package/utilities/buildClientSchema.js.flow +28 -12
  178. package/utilities/buildClientSchema.mjs +5 -4
  179. package/utilities/coerceInputValue.js +17 -18
  180. package/utilities/coerceInputValue.js.flow +12 -10
  181. package/utilities/coerceInputValue.mjs +7 -7
  182. package/utilities/concatAST.js +9 -8
  183. package/utilities/concatAST.js.flow +8 -8
  184. package/utilities/concatAST.mjs +9 -6
  185. package/utilities/extendSchema.js +26 -19
  186. package/utilities/extendSchema.js.flow +19 -7
  187. package/utilities/extendSchema.mjs +8 -1
  188. package/utilities/findBreakingChanges.js +15 -11
  189. package/utilities/findBreakingChanges.js.flow +6 -3
  190. package/utilities/findBreakingChanges.mjs +5 -2
  191. package/utilities/findDeprecatedUsages.js +2 -2
  192. package/utilities/findDeprecatedUsages.js.flow +0 -1
  193. package/utilities/getIntrospectionQuery.d.ts +6 -0
  194. package/utilities/getIntrospectionQuery.js +8 -2
  195. package/utilities/getIntrospectionQuery.js.flow +17 -5
  196. package/utilities/getIntrospectionQuery.mjs +8 -2
  197. package/utilities/getOperationAST.js +1 -1
  198. package/utilities/getOperationAST.js.flow +0 -1
  199. package/utilities/getOperationRootType.js +1 -1
  200. package/utilities/getOperationRootType.js.flow +0 -1
  201. package/utilities/index.d.ts +3 -0
  202. package/utilities/index.js +22 -22
  203. package/utilities/index.js.flow +0 -1
  204. package/utilities/introspectionFromSchema.js +7 -5
  205. package/utilities/introspectionFromSchema.js.flow +2 -1
  206. package/utilities/introspectionFromSchema.mjs +3 -1
  207. package/utilities/lexicographicSortSchema.js +13 -9
  208. package/utilities/lexicographicSortSchema.js.flow +21 -13
  209. package/utilities/lexicographicSortSchema.mjs +5 -2
  210. package/utilities/printSchema.js +15 -16
  211. package/utilities/printSchema.js.flow +23 -16
  212. package/utilities/printSchema.mjs +5 -6
  213. package/utilities/separateOperations.js +46 -42
  214. package/utilities/separateOperations.js.flow +46 -37
  215. package/utilities/separateOperations.mjs +44 -40
  216. package/utilities/stripIgnoredCharacters.js +6 -16
  217. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  218. package/utilities/stripIgnoredCharacters.mjs +3 -10
  219. package/utilities/typeComparators.js +1 -1
  220. package/utilities/typeComparators.js.flow +0 -1
  221. package/utilities/typeFromAST.js +6 -6
  222. package/utilities/typeFromAST.js.flow +2 -3
  223. package/utilities/typeFromAST.mjs +2 -2
  224. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  225. package/utilities/valueFromAST.js +6 -6
  226. package/utilities/valueFromAST.js.flow +4 -2
  227. package/utilities/valueFromASTUntyped.js +4 -4
  228. package/utilities/valueFromASTUntyped.js.flow +0 -1
  229. package/validation/ValidationContext.js +3 -3
  230. package/validation/ValidationContext.js.flow +3 -4
  231. package/validation/index.js +38 -38
  232. package/validation/index.js.flow +0 -1
  233. package/validation/rules/ExecutableDefinitions.js +1 -1
  234. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  235. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  236. package/validation/rules/ExecutableDefinitionsRule.js.flow +0 -1
  237. package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
  238. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
  239. package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
  240. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  241. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
  242. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  243. package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
  244. package/validation/rules/KnownDirectivesRule.js +6 -6
  245. package/validation/rules/KnownDirectivesRule.js.flow +4 -3
  246. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  247. package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
  248. package/validation/rules/KnownTypeNamesRule.js +6 -6
  249. package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
  250. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  251. package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
  252. package/validation/rules/LoneSchemaDefinition.js +1 -1
  253. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  254. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  255. package/validation/rules/LoneSchemaDefinitionRule.js.flow +0 -1
  256. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  257. package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
  258. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  259. package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
  260. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  261. package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
  262. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  263. package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
  264. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  265. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
  266. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  267. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  268. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
  269. package/validation/rules/PossibleTypeExtensions.js +1 -1
  270. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  271. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  272. package/validation/rules/PossibleTypeExtensionsRule.js.flow +6 -4
  273. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  274. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
  275. package/validation/rules/ScalarLeafsRule.js +3 -3
  276. package/validation/rules/ScalarLeafsRule.js.flow +0 -1
  277. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  278. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
  279. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  280. package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
  281. package/validation/rules/UniqueDirectiveNames.js +1 -1
  282. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  283. package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
  284. package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
  285. package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
  286. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  287. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
  288. package/validation/rules/UniqueEnumValueNames.js +1 -1
  289. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  290. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  291. package/validation/rules/UniqueEnumValueNamesRule.js.flow +7 -2
  292. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  293. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  294. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  295. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +13 -4
  296. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  297. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  298. package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
  299. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  300. package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
  301. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  302. package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
  303. package/validation/rules/UniqueOperationTypes.js +1 -1
  304. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  305. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  306. package/validation/rules/UniqueOperationTypesRule.js.flow +7 -2
  307. package/validation/rules/UniqueTypeNames.js +1 -1
  308. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  309. package/validation/rules/UniqueTypeNamesRule.js +2 -2
  310. package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
  311. package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
  312. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  313. package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
  314. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  315. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
  316. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  317. package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
  318. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  319. package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
  320. package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
  321. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
  322. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
  323. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
  324. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
  325. package/validation/specifiedRules.js +33 -33
  326. package/validation/specifiedRules.js.flow +0 -1
  327. package/validation/validate.js +7 -7
  328. package/validation/validate.js.flow +4 -5
  329. package/version.js +3 -3
  330. package/version.js.flow +3 -4
  331. package/version.mjs +3 -3
  332. package/jsutils/isCollection.js +0 -47
  333. package/jsutils/isCollection.js.flow +0 -39
  334. package/jsutils/isCollection.mjs +0 -40
  335. package/polyfills/flatMap.js +0 -30
  336. package/polyfills/flatMap.js.flow +0 -28
  337. package/polyfills/flatMap.mjs +0 -23
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import find from '../../polyfills/find';
4
3
  import objectEntries from '../../polyfills/objectEntries';
5
4
 
@@ -11,6 +10,7 @@ import { GraphQLError } from '../../error/GraphQLError';
11
10
  import type { ASTVisitor } from '../../language/visitor';
12
11
  import type {
13
12
  SelectionSetNode,
13
+ ValueNode,
14
14
  FieldNode,
15
15
  ArgumentNode,
16
16
  FragmentDefinitionNode,
@@ -643,7 +643,7 @@ function sameArguments(
643
643
  });
644
644
  }
645
645
 
646
- function sameValue(value1, value2) {
646
+ function sameValue(value1: ValueNode, value2: ValueNode): boolean {
647
647
  return print(value1) === print(value2);
648
648
  }
649
649
 
@@ -798,11 +798,11 @@ function subfieldConflicts(
798
798
  class PairSet {
799
799
  _data: ObjMap<ObjMap<boolean>>;
800
800
 
801
- constructor(): void {
801
+ constructor() {
802
802
  this._data = Object.create(null);
803
803
  }
804
804
 
805
- has(a: string, b: string, areMutuallyExclusive: boolean) {
805
+ has(a: string, b: string, areMutuallyExclusive: boolean): boolean {
806
806
  const first = this._data[a];
807
807
  const result = first && first[b];
808
808
  if (result === undefined) {
@@ -817,17 +817,17 @@ class PairSet {
817
817
  return true;
818
818
  }
819
819
 
820
- add(a: string, b: string, areMutuallyExclusive: boolean) {
821
- _pairSetAdd(this._data, a, b, areMutuallyExclusive);
822
- _pairSetAdd(this._data, b, a, areMutuallyExclusive);
820
+ add(a: string, b: string, areMutuallyExclusive: boolean): void {
821
+ this._pairSetAdd(a, b, areMutuallyExclusive);
822
+ this._pairSetAdd(b, a, areMutuallyExclusive);
823
823
  }
824
- }
825
824
 
826
- function _pairSetAdd(data, a, b, areMutuallyExclusive) {
827
- let map = data[a];
828
- if (!map) {
829
- map = Object.create(null);
830
- data[a] = map;
825
+ _pairSetAdd(a: string, b: string, areMutuallyExclusive: boolean): void {
826
+ let map = this._data[a];
827
+ if (!map) {
828
+ map = Object.create(null);
829
+ this._data[a] = map;
830
+ }
831
+ map[b] = areMutuallyExclusive;
831
832
  }
832
- map[b] = areMutuallyExclusive;
833
833
  }
@@ -548,21 +548,21 @@ var PairSet = /*#__PURE__*/function () {
548
548
  };
549
549
 
550
550
  _proto.add = function add(a, b, areMutuallyExclusive) {
551
- _pairSetAdd(this._data, a, b, areMutuallyExclusive);
551
+ this._pairSetAdd(a, b, areMutuallyExclusive);
552
552
 
553
- _pairSetAdd(this._data, b, a, areMutuallyExclusive);
553
+ this._pairSetAdd(b, a, areMutuallyExclusive);
554
554
  };
555
555
 
556
- return PairSet;
557
- }();
556
+ _proto._pairSetAdd = function _pairSetAdd(a, b, areMutuallyExclusive) {
557
+ var map = this._data[a];
558
558
 
559
- function _pairSetAdd(data, a, b, areMutuallyExclusive) {
560
- var map = data[a];
559
+ if (!map) {
560
+ map = Object.create(null);
561
+ this._data[a] = map;
562
+ }
561
563
 
562
- if (!map) {
563
- map = Object.create(null);
564
- data[a] = map;
565
- }
564
+ map[b] = areMutuallyExclusive;
565
+ };
566
566
 
567
- map[b] = areMutuallyExclusive;
568
- }
567
+ return PairSet;
568
+ }();
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PossibleFragmentSpreadsRule = PossibleFragmentSpreadsRule;
7
7
 
8
- var _inspect = _interopRequireDefault(require("../../jsutils/inspect"));
8
+ var _inspect = _interopRequireDefault(require("../../jsutils/inspect.js"));
9
9
 
10
- var _GraphQLError = require("../../error/GraphQLError");
10
+ var _GraphQLError = require("../../error/GraphQLError.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
- var _typeComparators = require("../../utilities/typeComparators");
16
+ var _typeComparators = require("../../utilities/typeComparators.js");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
@@ -1,11 +1,11 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../../jsutils/inspect';
4
3
 
5
4
  import { GraphQLError } from '../../error/GraphQLError';
6
5
 
7
6
  import type { ASTVisitor } from '../../language/visitor';
8
7
 
8
+ import type { GraphQLCompositeType } from '../../type/definition';
9
9
  import { isCompositeType } from '../../type/definition';
10
10
 
11
11
  import { typeFromAST } from '../../utilities/typeFromAST';
@@ -64,7 +64,10 @@ export function PossibleFragmentSpreadsRule(
64
64
  };
65
65
  }
66
66
 
67
- function getFragmentType(context, name) {
67
+ function getFragmentType(
68
+ context: ValidationContext,
69
+ name: string,
70
+ ): ?GraphQLCompositeType {
68
71
  const frag = context.getFragment(name);
69
72
  if (frag) {
70
73
  const type = typeFromAST(context.getSchema(), frag.typeCondition);
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "PossibleTypeExtensions", {
10
10
  }
11
11
  });
12
12
 
13
- var _PossibleTypeExtensionsRule = require("./PossibleTypeExtensionsRule");
13
+ var _PossibleTypeExtensionsRule = require("./PossibleTypeExtensionsRule.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,21 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PossibleTypeExtensionsRule = PossibleTypeExtensionsRule;
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 _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean"));
12
+ var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean.js"));
13
13
 
14
- var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList"));
14
+ var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList.js"));
15
15
 
16
- var _GraphQLError = require("../../error/GraphQLError");
16
+ var _GraphQLError = require("../../error/GraphQLError.js");
17
17
 
18
- var _kinds = require("../../language/kinds");
18
+ var _kinds = require("../../language/kinds.js");
19
19
 
20
- var _predicates = require("../../language/predicates");
20
+ var _predicates = require("../../language/predicates.js");
21
21
 
22
- var _definition = require("../../type/definition");
22
+ var _definition = require("../../type/definition.js");
23
23
 
24
24
  var _defKindToExtKind;
25
25
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../../jsutils/inspect';
4
3
  import invariant from '../../jsutils/invariant';
5
4
  import didYouMean from '../../jsutils/didYouMean';
@@ -7,10 +6,13 @@ import suggestionList from '../../jsutils/suggestionList';
7
6
 
8
7
  import { GraphQLError } from '../../error/GraphQLError';
9
8
 
9
+ import type { KindEnum } from '../../language/kinds';
10
10
  import type { ASTVisitor } from '../../language/visitor';
11
+ import type { TypeExtensionNode } from '../../language/ast';
11
12
  import { Kind } from '../../language/kinds';
12
13
  import { isTypeDefinitionNode } from '../../language/predicates';
13
14
 
15
+ import type { GraphQLNamedType } from '../../type/definition';
14
16
  import {
15
17
  isScalarType,
16
18
  isObjectType,
@@ -48,7 +50,7 @@ export function PossibleTypeExtensionsRule(
48
50
  InputObjectTypeExtension: checkExtension,
49
51
  };
50
52
 
51
- function checkExtension(node) {
53
+ function checkExtension(node: TypeExtensionNode): void {
52
54
  const typeName = node.name.value;
53
55
  const defNode = definedTypes[typeName];
54
56
  const existingType = schema?.getType(typeName);
@@ -97,7 +99,7 @@ const defKindToExtKind = {
97
99
  [Kind.INPUT_OBJECT_TYPE_DEFINITION]: Kind.INPUT_OBJECT_TYPE_EXTENSION,
98
100
  };
99
101
 
100
- function typeToExtKind(type) {
102
+ function typeToExtKind(type: GraphQLNamedType): KindEnum {
101
103
  if (isScalarType(type)) {
102
104
  return Kind.SCALAR_TYPE_EXTENSION;
103
105
  }
@@ -122,7 +124,7 @@ function typeToExtKind(type) {
122
124
  invariant(false, 'Unexpected type: ' + inspect((type: empty)));
123
125
  }
124
126
 
125
- function extensionKindToTypeName(kind) {
127
+ function extensionKindToTypeName(kind: KindEnum): string {
126
128
  switch (kind) {
127
129
  case Kind.SCALAR_TYPE_EXTENSION:
128
130
  return 'scalar';
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ProvidedRequiredArgumentsRule = ProvidedRequiredArgumentsRule;
7
7
  exports.ProvidedRequiredArgumentsOnDirectivesRule = ProvidedRequiredArgumentsOnDirectivesRule;
8
8
 
9
- var _inspect = _interopRequireDefault(require("../../jsutils/inspect"));
9
+ var _inspect = _interopRequireDefault(require("../../jsutils/inspect.js"));
10
10
 
11
- var _keyMap = _interopRequireDefault(require("../../jsutils/keyMap"));
11
+ var _keyMap = _interopRequireDefault(require("../../jsutils/keyMap.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 _printer = require("../../language/printer");
17
+ var _printer = require("../../language/printer.js");
18
18
 
19
- var _directives = require("../../type/directives");
19
+ var _directives = require("../../type/directives.js");
20
20
 
21
- var _definition = require("../../type/definition");
21
+ var _definition = require("../../type/definition.js");
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
 
@@ -1,13 +1,13 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../../jsutils/inspect';
4
3
  import keyMap from '../../jsutils/keyMap';
5
4
 
6
5
  import { GraphQLError } from '../../error/GraphQLError';
7
6
 
7
+ import type { ASTVisitor } from '../../language/visitor';
8
+ import type { InputValueDefinitionNode } from '../../language/ast';
8
9
  import { Kind } from '../../language/kinds';
9
10
  import { print } from '../../language/printer';
10
- import type { ASTVisitor } from '../../language/visitor';
11
11
 
12
12
  import { specifiedDirectives } from '../../type/directives';
13
13
  import { isType, isRequiredArgument } from '../../type/definition';
@@ -27,6 +27,7 @@ export function ProvidedRequiredArgumentsRule(
27
27
  context: ValidationContext,
28
28
  ): ASTVisitor {
29
29
  return {
30
+ // eslint-disable-next-line new-cap
30
31
  ...ProvidedRequiredArgumentsOnDirectivesRule(context),
31
32
  Field: {
32
33
  // Validate on leave to allow for deeper errors to appear first.
@@ -119,6 +120,6 @@ export function ProvidedRequiredArgumentsOnDirectivesRule(
119
120
  };
120
121
  }
121
122
 
122
- function isRequiredArgumentNode(arg) {
123
+ function isRequiredArgumentNode(arg: InputValueDefinitionNode): boolean {
123
124
  return arg.type.kind === Kind.NON_NULL_TYPE && arg.defaultValue == null;
124
125
  }
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ScalarLeafsRule = ScalarLeafsRule;
7
7
 
8
- var _inspect = _interopRequireDefault(require("../../jsutils/inspect"));
8
+ var _inspect = _interopRequireDefault(require("../../jsutils/inspect.js"));
9
9
 
10
- var _GraphQLError = require("../../error/GraphQLError");
10
+ var _GraphQLError = require("../../error/GraphQLError.js");
11
11
 
12
- var _definition = require("../../type/definition");
12
+ var _definition = require("../../type/definition.js");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../../jsutils/inspect';
4
3
 
5
4
  import { GraphQLError } from '../../error/GraphQLError';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SingleFieldSubscriptionsRule = SingleFieldSubscriptionsRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Subscriptions must only include one field.
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import type { ASTVisitor } from '../../language/visitor';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueArgumentNamesRule = UniqueArgumentNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Unique argument names
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
  import type { ASTVisitor } from '../../language/visitor';
5
4
 
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "UniqueDirectiveNames", {
10
10
  }
11
11
  });
12
12
 
13
- var _UniqueDirectiveNamesRule = require("./UniqueDirectiveNamesRule");
13
+ var _UniqueDirectiveNamesRule = require("./UniqueDirectiveNamesRule.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,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueDirectiveNamesRule = UniqueDirectiveNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Unique directive names
@@ -19,7 +19,7 @@ function UniqueDirectiveNamesRule(context) {
19
19
  DirectiveDefinition: function DirectiveDefinition(node) {
20
20
  var directiveName = node.name.value;
21
21
 
22
- if (schema === null || schema === void 0 ? void 0 : schema.getDirective(directiveName)) {
22
+ if (schema !== null && schema !== void 0 && schema.getDirective(directiveName)) {
23
23
  context.reportError(new _GraphQLError.GraphQLError("Directive \"@".concat(directiveName, "\" already exists in the schema. It cannot be redefined."), node.name));
24
24
  return;
25
25
  }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
  import type { ASTVisitor } from '../../language/visitor';
5
4
 
@@ -12,7 +12,7 @@ export function UniqueDirectiveNamesRule(context) {
12
12
  DirectiveDefinition: function DirectiveDefinition(node) {
13
13
  var directiveName = node.name.value;
14
14
 
15
- if (schema === null || schema === void 0 ? void 0 : schema.getDirective(directiveName)) {
15
+ if (schema !== null && schema !== void 0 && schema.getDirective(directiveName)) {
16
16
  context.reportError(new GraphQLError("Directive \"@".concat(directiveName, "\" already exists in the schema. It cannot be redefined."), node.name));
17
17
  return;
18
18
  }
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueDirectivesPerLocationRule = UniqueDirectivesPerLocationRule;
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
- var _directives = require("../../type/directives");
14
+ var _directives = require("../../type/directives.js");
15
15
 
16
16
  /**
17
17
  * Unique directive names per location
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import { Kind } from '../../language/kinds';
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "UniqueEnumValueNames", {
10
10
  }
11
11
  });
12
12
 
13
- var _UniqueEnumValueNamesRule = require("./UniqueEnumValueNamesRule");
13
+ var _UniqueEnumValueNamesRule = require("./UniqueEnumValueNamesRule.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,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueEnumValueNamesRule = UniqueEnumValueNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
- var _definition = require("../../type/definition");
10
+ var _definition = require("../../type/definition.js");
11
11
 
12
12
  /**
13
13
  * Unique enum value names
@@ -1,8 +1,11 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import type { ASTVisitor } from '../../language/visitor';
5
+ import type {
6
+ EnumTypeDefinitionNode,
7
+ EnumTypeExtensionNode,
8
+ } from '../../language/ast';
6
9
 
7
10
  import { isEnumType } from '../../type/definition';
8
11
 
@@ -25,7 +28,9 @@ export function UniqueEnumValueNamesRule(
25
28
  EnumTypeExtension: checkValueUniqueness,
26
29
  };
27
30
 
28
- function checkValueUniqueness(node) {
31
+ function checkValueUniqueness(
32
+ node: EnumTypeDefinitionNode | EnumTypeExtensionNode,
33
+ ) {
29
34
  const typeName = node.name.value;
30
35
 
31
36
  if (!knownValueNames[typeName]) {
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "UniqueFieldDefinitionNames", {
10
10
  }
11
11
  });
12
12
 
13
- var _UniqueFieldDefinitionNamesRule = require("./UniqueFieldDefinitionNamesRule");
13
+ var _UniqueFieldDefinitionNamesRule = require("./UniqueFieldDefinitionNamesRule.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,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueFieldDefinitionNamesRule = UniqueFieldDefinitionNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
- var _definition = require("../../type/definition");
10
+ var _definition = require("../../type/definition.js");
11
11
 
12
12
  /**
13
13
  * Unique field definition names
@@ -59,7 +59,7 @@ function UniqueFieldDefinitionNamesRule(context) {
59
59
 
60
60
  function hasField(type, fieldName) {
61
61
  if ((0, _definition.isObjectType)(type) || (0, _definition.isInterfaceType)(type) || (0, _definition.isInputObjectType)(type)) {
62
- return type.getFields()[fieldName];
62
+ return type.getFields()[fieldName] != null;
63
63
  }
64
64
 
65
65
  return false;
@@ -1,9 +1,14 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import type { ASTVisitor } from '../../language/visitor';
5
+ import type {
6
+ NameNode,
7
+ FieldDefinitionNode,
8
+ InputValueDefinitionNode,
9
+ } from '../../language/ast';
6
10
 
11
+ import type { GraphQLNamedType } from '../../type/definition';
7
12
  import {
8
13
  isObjectType,
9
14
  isInterfaceType,
@@ -33,7 +38,11 @@ export function UniqueFieldDefinitionNamesRule(
33
38
  ObjectTypeExtension: checkFieldUniqueness,
34
39
  };
35
40
 
36
- function checkFieldUniqueness(node) {
41
+ function checkFieldUniqueness(node: {
42
+ +name: NameNode,
43
+ +fields?: $ReadOnlyArray<InputValueDefinitionNode | FieldDefinitionNode>,
44
+ ...
45
+ }) {
37
46
  const typeName = node.name.value;
38
47
 
39
48
  if (!knownFieldNames[typeName]) {
@@ -70,9 +79,9 @@ export function UniqueFieldDefinitionNamesRule(
70
79
  }
71
80
  }
72
81
 
73
- function hasField(type, fieldName) {
82
+ function hasField(type: GraphQLNamedType, fieldName: string): boolean {
74
83
  if (isObjectType(type) || isInterfaceType(type) || isInputObjectType(type)) {
75
- return type.getFields()[fieldName];
84
+ return type.getFields()[fieldName] != null;
76
85
  }
77
86
  return false;
78
87
  }
@@ -51,7 +51,7 @@ export function UniqueFieldDefinitionNamesRule(context) {
51
51
 
52
52
  function hasField(type, fieldName) {
53
53
  if (isObjectType(type) || isInterfaceType(type) || isInputObjectType(type)) {
54
- return type.getFields()[fieldName];
54
+ return type.getFields()[fieldName] != null;
55
55
  }
56
56
 
57
57
  return false;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueFragmentNamesRule = UniqueFragmentNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Unique fragment names
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import type { ASTVisitor } from '../../language/visitor';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueInputFieldNamesRule = UniqueInputFieldNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Unique input field names
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import type { ASTVisitor } from '../../language/visitor';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UniqueOperationNamesRule = UniqueOperationNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Unique operation names
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
5
4
  import type { ASTVisitor } from '../../language/visitor';
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "UniqueOperationTypes", {
10
10
  }
11
11
  });
12
12
 
13
- var _UniqueOperationTypesRule = require("./UniqueOperationTypesRule");
13
+ var _UniqueOperationTypesRule = require("./UniqueOperationTypesRule.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: