graphql 15.2.0 → 15.5.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 (338) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +19 -10
  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 +11 -15
  17. package/execution/execute.js +110 -110
  18. package/execution/execute.js.flow +132 -139
  19. package/execution/execute.mjs +92 -88
  20. package/execution/index.d.ts +1 -0
  21. package/execution/index.js +3 -3
  22. package/execution/index.js.flow +6 -2
  23. package/execution/values.js +11 -11
  24. package/execution/values.js.flow +0 -1
  25. package/graphql.js +5 -5
  26. package/graphql.js.flow +0 -1
  27. package/index.d.ts +2 -0
  28. package/index.js +9 -9
  29. package/index.js.flow +5 -2
  30. package/jsutils/ObjMap.js.flow +0 -1
  31. package/jsutils/Path.js.flow +0 -1
  32. package/jsutils/PromiseOrValue.js.flow +0 -1
  33. package/jsutils/defineInspect.js +2 -2
  34. package/jsutils/defineInspect.js.flow +0 -1
  35. package/jsutils/devAssert.js.flow +0 -1
  36. package/jsutils/didYouMean.js.flow +0 -1
  37. package/jsutils/identityFunc.js.flow +0 -1
  38. package/jsutils/inspect.js +1 -2
  39. package/jsutils/inspect.js.flow +10 -8
  40. package/jsutils/inspect.mjs +1 -1
  41. package/jsutils/instanceOf.js.flow +2 -3
  42. package/jsutils/invariant.js.flow +0 -1
  43. package/jsutils/isAsyncIterable.js +13 -0
  44. package/jsutils/isAsyncIterable.js.flow +14 -0
  45. package/jsutils/isAsyncIterable.mjs +10 -0
  46. package/jsutils/isObjectLike.js.flow +0 -1
  47. package/jsutils/isPromise.js.flow +0 -1
  48. package/jsutils/keyMap.js.flow +0 -1
  49. package/jsutils/keyValMap.js.flow +0 -1
  50. package/jsutils/mapValue.js +1 -1
  51. package/jsutils/mapValue.js.flow +0 -1
  52. package/jsutils/memoize3.js +2 -5
  53. package/jsutils/memoize3.js.flow +2 -5
  54. package/jsutils/memoize3.mjs +2 -5
  55. package/jsutils/naturalCompare.js +69 -0
  56. package/jsutils/naturalCompare.js.flow +59 -0
  57. package/jsutils/naturalCompare.mjs +61 -0
  58. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  59. package/jsutils/printPathArray.js.flow +0 -1
  60. package/jsutils/promiseForObject.js.flow +0 -1
  61. package/jsutils/promiseReduce.js +1 -1
  62. package/jsutils/promiseReduce.js.flow +0 -1
  63. package/jsutils/safeArrayFrom.js +73 -0
  64. package/jsutils/safeArrayFrom.js.flow +59 -0
  65. package/jsutils/safeArrayFrom.mjs +66 -0
  66. package/jsutils/suggestionList.js +5 -1
  67. package/jsutils/suggestionList.js.flow +3 -2
  68. package/jsutils/suggestionList.mjs +3 -1
  69. package/jsutils/toObjMap.js +1 -1
  70. package/jsutils/toObjMap.js.flow +0 -1
  71. package/language/ast.js +1 -1
  72. package/language/ast.js.flow +0 -1
  73. package/language/blockString.d.ts +1 -1
  74. package/language/blockString.js +53 -32
  75. package/language/blockString.js.flow +51 -36
  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 +188 -184
  95. package/language/lexer.mjs +238 -179
  96. package/language/location.js.flow +0 -1
  97. package/language/parser.js +73 -68
  98. package/language/parser.js.flow +62 -57
  99. package/language/parser.mjs +64 -60
  100. package/language/predicates.js +1 -1
  101. package/language/predicates.js.flow +0 -1
  102. package/language/printLocation.js +1 -1
  103. package/language/printLocation.js.flow +0 -1
  104. package/language/printer.js +20 -13
  105. package/language/printer.js.flow +26 -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 +26 -9
  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 +3 -4
  115. package/language/visitor.mjs +3 -3
  116. package/package.json +2 -3
  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 +1 -2
  131. package/polyfills/objectEntries.mjs +1 -1
  132. package/polyfills/objectValues.js +1 -1
  133. package/polyfills/objectValues.js.flow +1 -2
  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 +8 -9
  142. package/subscription/mapAsyncIterator.mjs +1 -1
  143. package/subscription/subscribe.js +61 -73
  144. package/subscription/subscribe.js.flow +71 -85
  145. package/subscription/subscribe.mjs +53 -65
  146. package/type/definition.d.ts +17 -9
  147. package/type/definition.js +37 -32
  148. package/type/definition.js.flow +93 -63
  149. package/type/definition.mjs +19 -14
  150. package/type/directives.js +17 -16
  151. package/type/directives.js.flow +20 -13
  152. package/type/directives.mjs +6 -5
  153. package/type/index.js +6 -6
  154. package/type/index.js.flow +0 -1
  155. package/type/introspection.js +86 -65
  156. package/type/introspection.js.flow +75 -43
  157. package/type/introspection.mjs +79 -58
  158. package/type/scalars.js +9 -9
  159. package/type/scalars.js.flow +1 -2
  160. package/type/scalars.mjs +1 -1
  161. package/type/schema.js +13 -13
  162. package/type/schema.js.flow +2 -3
  163. package/type/schema.mjs +1 -1
  164. package/type/validate.js +52 -19
  165. package/type/validate.js.flow +54 -8
  166. package/type/validate.mjs +43 -9
  167. package/utilities/TypeInfo.js +7 -7
  168. package/utilities/TypeInfo.js.flow +1 -2
  169. package/utilities/assertValidName.js +2 -2
  170. package/utilities/assertValidName.js.flow +0 -1
  171. package/utilities/astFromValue.js +14 -16
  172. package/utilities/astFromValue.js.flow +6 -7
  173. package/utilities/astFromValue.mjs +6 -7
  174. package/utilities/buildASTSchema.js +17 -27
  175. package/utilities/buildASTSchema.js.flow +5 -21
  176. package/utilities/buildASTSchema.mjs +11 -21
  177. package/utilities/buildClientSchema.js +16 -15
  178. package/utilities/buildClientSchema.js.flow +28 -12
  179. package/utilities/buildClientSchema.mjs +5 -4
  180. package/utilities/coerceInputValue.js +17 -18
  181. package/utilities/coerceInputValue.js.flow +12 -10
  182. package/utilities/coerceInputValue.mjs +7 -7
  183. package/utilities/concatAST.js +9 -8
  184. package/utilities/concatAST.js.flow +8 -8
  185. package/utilities/concatAST.mjs +9 -6
  186. package/utilities/extendSchema.js +26 -19
  187. package/utilities/extendSchema.js.flow +19 -7
  188. package/utilities/extendSchema.mjs +8 -1
  189. package/utilities/findBreakingChanges.js +15 -11
  190. package/utilities/findBreakingChanges.js.flow +6 -3
  191. package/utilities/findBreakingChanges.mjs +5 -2
  192. package/utilities/findDeprecatedUsages.js +2 -2
  193. package/utilities/findDeprecatedUsages.js.flow +0 -1
  194. package/utilities/getIntrospectionQuery.d.ts +6 -0
  195. package/utilities/getIntrospectionQuery.js +8 -2
  196. package/utilities/getIntrospectionQuery.js.flow +17 -5
  197. package/utilities/getIntrospectionQuery.mjs +8 -2
  198. package/utilities/getOperationAST.js +1 -1
  199. package/utilities/getOperationAST.js.flow +0 -1
  200. package/utilities/getOperationRootType.js +1 -1
  201. package/utilities/getOperationRootType.js.flow +0 -1
  202. package/utilities/index.d.ts +3 -0
  203. package/utilities/index.js +22 -22
  204. package/utilities/index.js.flow +0 -1
  205. package/utilities/introspectionFromSchema.js +7 -5
  206. package/utilities/introspectionFromSchema.js.flow +2 -1
  207. package/utilities/introspectionFromSchema.mjs +3 -1
  208. package/utilities/lexicographicSortSchema.js +13 -9
  209. package/utilities/lexicographicSortSchema.js.flow +21 -13
  210. package/utilities/lexicographicSortSchema.mjs +5 -2
  211. package/utilities/printSchema.js +15 -16
  212. package/utilities/printSchema.js.flow +23 -16
  213. package/utilities/printSchema.mjs +5 -6
  214. package/utilities/separateOperations.js +46 -42
  215. package/utilities/separateOperations.js.flow +46 -37
  216. package/utilities/separateOperations.mjs +44 -40
  217. package/utilities/stripIgnoredCharacters.js +6 -16
  218. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  219. package/utilities/stripIgnoredCharacters.mjs +3 -10
  220. package/utilities/typeComparators.js +1 -1
  221. package/utilities/typeComparators.js.flow +0 -1
  222. package/utilities/typeFromAST.js +6 -6
  223. package/utilities/typeFromAST.js.flow +2 -3
  224. package/utilities/typeFromAST.mjs +2 -2
  225. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  226. package/utilities/valueFromAST.js +6 -6
  227. package/utilities/valueFromAST.js.flow +4 -2
  228. package/utilities/valueFromASTUntyped.js +4 -4
  229. package/utilities/valueFromASTUntyped.js.flow +0 -1
  230. package/validation/ValidationContext.js +3 -3
  231. package/validation/ValidationContext.js.flow +3 -4
  232. package/validation/index.js +38 -38
  233. package/validation/index.js.flow +0 -1
  234. package/validation/rules/ExecutableDefinitions.js +1 -1
  235. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  236. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  237. package/validation/rules/ExecutableDefinitionsRule.js.flow +0 -1
  238. package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
  239. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
  240. package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
  241. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  242. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
  243. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  244. package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
  245. package/validation/rules/KnownDirectivesRule.js +6 -6
  246. package/validation/rules/KnownDirectivesRule.js.flow +4 -3
  247. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  248. package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
  249. package/validation/rules/KnownTypeNamesRule.js +6 -6
  250. package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
  251. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  252. package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
  253. package/validation/rules/LoneSchemaDefinition.js +1 -1
  254. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  255. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  256. package/validation/rules/LoneSchemaDefinitionRule.js.flow +0 -1
  257. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  258. package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
  259. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  260. package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
  261. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  262. package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
  263. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  264. package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
  265. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  266. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
  267. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  268. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  269. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
  270. package/validation/rules/PossibleTypeExtensions.js +1 -1
  271. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  272. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  273. package/validation/rules/PossibleTypeExtensionsRule.js.flow +6 -4
  274. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  275. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
  276. package/validation/rules/ScalarLeafsRule.js +3 -3
  277. package/validation/rules/ScalarLeafsRule.js.flow +0 -1
  278. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  279. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
  280. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  281. package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
  282. package/validation/rules/UniqueDirectiveNames.js +1 -1
  283. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  284. package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
  285. package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
  286. package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
  287. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  288. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
  289. package/validation/rules/UniqueEnumValueNames.js +1 -1
  290. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  291. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  292. package/validation/rules/UniqueEnumValueNamesRule.js.flow +7 -2
  293. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  294. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  295. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  296. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +13 -4
  297. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  298. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  299. package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
  300. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  301. package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
  302. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  303. package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
  304. package/validation/rules/UniqueOperationTypes.js +1 -1
  305. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  306. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  307. package/validation/rules/UniqueOperationTypesRule.js.flow +7 -2
  308. package/validation/rules/UniqueTypeNames.js +1 -1
  309. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  310. package/validation/rules/UniqueTypeNamesRule.js +2 -2
  311. package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
  312. package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
  313. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  314. package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
  315. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  316. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
  317. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  318. package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
  319. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  320. package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
  321. package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
  322. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
  323. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
  324. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
  325. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
  326. package/validation/specifiedRules.js +33 -33
  327. package/validation/specifiedRules.js.flow +0 -1
  328. package/validation/validate.js +7 -7
  329. package/validation/validate.js.flow +4 -5
  330. package/version.js +2 -2
  331. package/version.js.flow +2 -3
  332. package/version.mjs +2 -2
  333. package/jsutils/isCollection.js +0 -47
  334. package/jsutils/isCollection.js.flow +0 -39
  335. package/jsutils/isCollection.mjs +0 -40
  336. package/polyfills/flatMap.js +0 -30
  337. package/polyfills/flatMap.js.flow +0 -28
  338. package/polyfills/flatMap.mjs +0 -23
@@ -5,7 +5,7 @@ import { print } from "../language/printer.mjs";
5
5
  import { DirectiveLocation } from "../language/directiveLocation.mjs";
6
6
  import { astFromValue } from "../utilities/astFromValue.mjs";
7
7
  import { GraphQLString, GraphQLBoolean } from "./scalars.mjs";
8
- import { GraphQLObjectType, GraphQLEnumType, GraphQLList, GraphQLNonNull, isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType, isListType, isNonNullType, isAbstractType } from "./definition.mjs";
8
+ import { GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLEnumType, isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType, isListType, isNonNullType, isAbstractType } from "./definition.mjs";
9
9
  export var __Schema = new GraphQLObjectType({
10
10
  name: '__Schema',
11
11
  description: 'A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.',
@@ -19,14 +19,14 @@ export var __Schema = new GraphQLObjectType({
19
19
  },
20
20
  types: {
21
21
  description: 'A list of all types supported by this server.',
22
- type: GraphQLNonNull(GraphQLList(GraphQLNonNull(__Type))),
22
+ type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(__Type))),
23
23
  resolve: function resolve(schema) {
24
24
  return objectValues(schema.getTypeMap());
25
25
  }
26
26
  },
27
27
  queryType: {
28
28
  description: 'The type that query operations will be rooted at.',
29
- type: GraphQLNonNull(__Type),
29
+ type: new GraphQLNonNull(__Type),
30
30
  resolve: function resolve(schema) {
31
31
  return schema.getQueryType();
32
32
  }
@@ -47,7 +47,7 @@ export var __Schema = new GraphQLObjectType({
47
47
  },
48
48
  directives: {
49
49
  description: 'A list of all directives supported by this server.',
50
- type: GraphQLNonNull(GraphQLList(GraphQLNonNull(__Directive))),
50
+ type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(__Directive))),
51
51
  resolve: function resolve(schema) {
52
52
  return schema.getDirectives();
53
53
  }
@@ -61,7 +61,7 @@ export var __Directive = new GraphQLObjectType({
61
61
  fields: function fields() {
62
62
  return {
63
63
  name: {
64
- type: GraphQLNonNull(GraphQLString),
64
+ type: new GraphQLNonNull(GraphQLString),
65
65
  resolve: function resolve(directive) {
66
66
  return directive.name;
67
67
  }
@@ -73,19 +73,19 @@ export var __Directive = new GraphQLObjectType({
73
73
  }
74
74
  },
75
75
  isRepeatable: {
76
- type: GraphQLNonNull(GraphQLBoolean),
76
+ type: new GraphQLNonNull(GraphQLBoolean),
77
77
  resolve: function resolve(directive) {
78
78
  return directive.isRepeatable;
79
79
  }
80
80
  },
81
81
  locations: {
82
- type: GraphQLNonNull(GraphQLList(GraphQLNonNull(__DirectiveLocation))),
82
+ type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(__DirectiveLocation))),
83
83
  resolve: function resolve(directive) {
84
84
  return directive.locations;
85
85
  }
86
86
  },
87
87
  args: {
88
- type: GraphQLNonNull(GraphQLList(GraphQLNonNull(__InputValue))),
88
+ type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(__InputValue))),
89
89
  resolve: function resolve(directive) {
90
90
  return directive.args;
91
91
  }
@@ -181,7 +181,7 @@ export var __Type = new GraphQLObjectType({
181
181
  fields: function fields() {
182
182
  return {
183
183
  kind: {
184
- type: GraphQLNonNull(__TypeKind),
184
+ type: new GraphQLNonNull(__TypeKind),
185
185
  resolve: function resolve(type) {
186
186
  if (isScalarType(type)) {
187
187
  return TypeKind.SCALAR;
@@ -239,7 +239,7 @@ export var __Type = new GraphQLObjectType({
239
239
  }
240
240
  },
241
241
  fields: {
242
- type: GraphQLList(GraphQLNonNull(__Field)),
242
+ type: new GraphQLList(new GraphQLNonNull(__Field)),
243
243
  args: {
244
244
  includeDeprecated: {
245
245
  type: GraphQLBoolean,
@@ -251,21 +251,14 @@ export var __Type = new GraphQLObjectType({
251
251
 
252
252
  if (isObjectType(type) || isInterfaceType(type)) {
253
253
  var fields = objectValues(type.getFields());
254
-
255
- if (!includeDeprecated) {
256
- fields = fields.filter(function (field) {
257
- return !field.isDeprecated;
258
- });
259
- }
260
-
261
- return fields;
254
+ return includeDeprecated ? fields : fields.filter(function (field) {
255
+ return field.deprecationReason == null;
256
+ });
262
257
  }
263
-
264
- return null;
265
258
  }
266
259
  },
267
260
  interfaces: {
268
- type: GraphQLList(GraphQLNonNull(__Type)),
261
+ type: new GraphQLList(new GraphQLNonNull(__Type)),
269
262
  resolve: function resolve(type) {
270
263
  if (isObjectType(type) || isInterfaceType(type)) {
271
264
  return type.getInterfaces();
@@ -273,7 +266,7 @@ export var __Type = new GraphQLObjectType({
273
266
  }
274
267
  },
275
268
  possibleTypes: {
276
- type: GraphQLList(GraphQLNonNull(__Type)),
269
+ type: new GraphQLList(new GraphQLNonNull(__Type)),
277
270
  resolve: function resolve(type, _args, _context, _ref2) {
278
271
  var schema = _ref2.schema;
279
272
 
@@ -283,7 +276,7 @@ export var __Type = new GraphQLObjectType({
283
276
  }
284
277
  },
285
278
  enumValues: {
286
- type: GraphQLList(GraphQLNonNull(__EnumValue)),
279
+ type: new GraphQLList(new GraphQLNonNull(__EnumValue)),
287
280
  args: {
288
281
  includeDeprecated: {
289
282
  type: GraphQLBoolean,
@@ -295,22 +288,28 @@ export var __Type = new GraphQLObjectType({
295
288
 
296
289
  if (isEnumType(type)) {
297
290
  var values = type.getValues();
298
-
299
- if (!includeDeprecated) {
300
- values = values.filter(function (value) {
301
- return !value.isDeprecated;
302
- });
303
- }
304
-
305
- return values;
291
+ return includeDeprecated ? values : values.filter(function (field) {
292
+ return field.deprecationReason == null;
293
+ });
306
294
  }
307
295
  }
308
296
  },
309
297
  inputFields: {
310
- type: GraphQLList(GraphQLNonNull(__InputValue)),
311
- resolve: function resolve(type) {
298
+ type: new GraphQLList(new GraphQLNonNull(__InputValue)),
299
+ args: {
300
+ includeDeprecated: {
301
+ type: GraphQLBoolean,
302
+ defaultValue: false
303
+ }
304
+ },
305
+ resolve: function resolve(type, _ref4) {
306
+ var includeDeprecated = _ref4.includeDeprecated;
307
+
312
308
  if (isInputObjectType(type)) {
313
- return objectValues(type.getFields());
309
+ var values = objectValues(type.getFields());
310
+ return includeDeprecated ? values : values.filter(function (field) {
311
+ return field.deprecationReason == null;
312
+ });
314
313
  }
315
314
  }
316
315
  },
@@ -329,7 +328,7 @@ export var __Field = new GraphQLObjectType({
329
328
  fields: function fields() {
330
329
  return {
331
330
  name: {
332
- type: GraphQLNonNull(GraphQLString),
331
+ type: new GraphQLNonNull(GraphQLString),
333
332
  resolve: function resolve(field) {
334
333
  return field.name;
335
334
  }
@@ -341,21 +340,30 @@ export var __Field = new GraphQLObjectType({
341
340
  }
342
341
  },
343
342
  args: {
344
- type: GraphQLNonNull(GraphQLList(GraphQLNonNull(__InputValue))),
345
- resolve: function resolve(field) {
346
- return field.args;
343
+ type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(__InputValue))),
344
+ args: {
345
+ includeDeprecated: {
346
+ type: GraphQLBoolean,
347
+ defaultValue: false
348
+ }
349
+ },
350
+ resolve: function resolve(field, _ref5) {
351
+ var includeDeprecated = _ref5.includeDeprecated;
352
+ return includeDeprecated ? field.args : field.args.filter(function (arg) {
353
+ return arg.deprecationReason == null;
354
+ });
347
355
  }
348
356
  },
349
357
  type: {
350
- type: GraphQLNonNull(__Type),
358
+ type: new GraphQLNonNull(__Type),
351
359
  resolve: function resolve(field) {
352
360
  return field.type;
353
361
  }
354
362
  },
355
363
  isDeprecated: {
356
- type: GraphQLNonNull(GraphQLBoolean),
364
+ type: new GraphQLNonNull(GraphQLBoolean),
357
365
  resolve: function resolve(field) {
358
- return field.isDeprecated;
366
+ return field.deprecationReason != null;
359
367
  }
360
368
  },
361
369
  deprecationReason: {
@@ -373,7 +381,7 @@ export var __InputValue = new GraphQLObjectType({
373
381
  fields: function fields() {
374
382
  return {
375
383
  name: {
376
- type: GraphQLNonNull(GraphQLString),
384
+ type: new GraphQLNonNull(GraphQLString),
377
385
  resolve: function resolve(inputValue) {
378
386
  return inputValue.name;
379
387
  }
@@ -385,7 +393,7 @@ export var __InputValue = new GraphQLObjectType({
385
393
  }
386
394
  },
387
395
  type: {
388
- type: GraphQLNonNull(__Type),
396
+ type: new GraphQLNonNull(__Type),
389
397
  resolve: function resolve(inputValue) {
390
398
  return inputValue.type;
391
399
  }
@@ -399,6 +407,18 @@ export var __InputValue = new GraphQLObjectType({
399
407
  var valueAST = astFromValue(defaultValue, type);
400
408
  return valueAST ? print(valueAST) : null;
401
409
  }
410
+ },
411
+ isDeprecated: {
412
+ type: new GraphQLNonNull(GraphQLBoolean),
413
+ resolve: function resolve(field) {
414
+ return field.deprecationReason != null;
415
+ }
416
+ },
417
+ deprecationReason: {
418
+ type: GraphQLString,
419
+ resolve: function resolve(obj) {
420
+ return obj.deprecationReason;
421
+ }
402
422
  }
403
423
  };
404
424
  }
@@ -409,7 +429,7 @@ export var __EnumValue = new GraphQLObjectType({
409
429
  fields: function fields() {
410
430
  return {
411
431
  name: {
412
- type: GraphQLNonNull(GraphQLString),
432
+ type: new GraphQLNonNull(GraphQLString),
413
433
  resolve: function resolve(enumValue) {
414
434
  return enumValue.name;
415
435
  }
@@ -421,9 +441,9 @@ export var __EnumValue = new GraphQLObjectType({
421
441
  }
422
442
  },
423
443
  isDeprecated: {
424
- type: GraphQLNonNull(GraphQLBoolean),
444
+ type: new GraphQLNonNull(GraphQLBoolean),
425
445
  resolve: function resolve(enumValue) {
426
- return enumValue.isDeprecated;
446
+ return enumValue.deprecationReason != null;
427
447
  }
428
448
  },
429
449
  deprecationReason: {
@@ -490,11 +510,11 @@ export var __TypeKind = new GraphQLEnumType({
490
510
 
491
511
  export var SchemaMetaFieldDef = {
492
512
  name: '__schema',
493
- type: GraphQLNonNull(__Schema),
513
+ type: new GraphQLNonNull(__Schema),
494
514
  description: 'Access the current type schema of this server.',
495
515
  args: [],
496
- resolve: function resolve(_source, _args, _context, _ref4) {
497
- var schema = _ref4.schema;
516
+ resolve: function resolve(_source, _args, _context, _ref6) {
517
+ var schema = _ref6.schema;
498
518
  return schema;
499
519
  },
500
520
  isDeprecated: false,
@@ -509,14 +529,15 @@ export var TypeMetaFieldDef = {
509
529
  args: [{
510
530
  name: 'name',
511
531
  description: undefined,
512
- type: GraphQLNonNull(GraphQLString),
532
+ type: new GraphQLNonNull(GraphQLString),
513
533
  defaultValue: undefined,
534
+ deprecationReason: undefined,
514
535
  extensions: undefined,
515
536
  astNode: undefined
516
537
  }],
517
- resolve: function resolve(_source, _ref5, _context, _ref6) {
518
- var name = _ref5.name;
519
- var schema = _ref6.schema;
538
+ resolve: function resolve(_source, _ref7, _context, _ref8) {
539
+ var name = _ref7.name;
540
+ var schema = _ref8.schema;
520
541
  return schema.getType(name);
521
542
  },
522
543
  isDeprecated: false,
@@ -526,11 +547,11 @@ export var TypeMetaFieldDef = {
526
547
  };
527
548
  export var TypeNameMetaFieldDef = {
528
549
  name: '__typename',
529
- type: GraphQLNonNull(GraphQLString),
550
+ type: new GraphQLNonNull(GraphQLString),
530
551
  description: 'The name of the current Object type at runtime.',
531
552
  args: [],
532
- resolve: function resolve(_source, _args, _context, _ref7) {
533
- var parentType = _ref7.parentType;
553
+ resolve: function resolve(_source, _args, _context, _ref9) {
554
+ var parentType = _ref9.parentType;
534
555
  return parentType.name;
535
556
  },
536
557
  isDeprecated: false,
@@ -540,8 +561,8 @@ export var TypeNameMetaFieldDef = {
540
561
  };
541
562
  export var introspectionTypes = Object.freeze([__Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind]);
542
563
  export function isIntrospectionType(type) {
543
- return introspectionTypes.some(function (_ref8) {
544
- var name = _ref8.name;
564
+ return introspectionTypes.some(function (_ref10) {
565
+ var name = _ref10.name;
545
566
  return type.name === name;
546
567
  });
547
568
  }
package/type/scalars.js CHANGED
@@ -6,21 +6,21 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.isSpecifiedScalarType = isSpecifiedScalarType;
7
7
  exports.specifiedScalarTypes = exports.GraphQLID = exports.GraphQLBoolean = exports.GraphQLString = exports.GraphQLFloat = exports.GraphQLInt = void 0;
8
8
 
9
- var _isFinite = _interopRequireDefault(require("../polyfills/isFinite"));
9
+ var _isFinite = _interopRequireDefault(require("../polyfills/isFinite.js"));
10
10
 
11
- var _isInteger = _interopRequireDefault(require("../polyfills/isInteger"));
11
+ var _isInteger = _interopRequireDefault(require("../polyfills/isInteger.js"));
12
12
 
13
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
13
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
14
14
 
15
- var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
15
+ var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
16
16
 
17
- var _kinds = require("../language/kinds");
17
+ var _kinds = require("../language/kinds.js");
18
18
 
19
- var _printer = require("../language/printer");
19
+ var _printer = require("../language/printer.js");
20
20
 
21
- var _GraphQLError = require("../error/GraphQLError");
21
+ var _GraphQLError = require("../error/GraphQLError.js");
22
22
 
23
- var _definition = require("./definition");
23
+ var _definition = require("./definition.js");
24
24
 
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
26
 
@@ -146,7 +146,7 @@ function serializeObject(outputValue) {
146
146
  }
147
147
 
148
148
  if (typeof outputValue.toJSON === 'function') {
149
- // $FlowFixMe(>=0.90.0)
149
+ // $FlowFixMe[incompatible-use]
150
150
  return outputValue.toJSON();
151
151
  }
152
152
  }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import isFinite from '../polyfills/isFinite';
4
3
  import isInteger from '../polyfills/isInteger';
5
4
 
@@ -144,7 +143,7 @@ function serializeObject(outputValue: mixed): mixed {
144
143
  }
145
144
  }
146
145
  if (typeof outputValue.toJSON === 'function') {
147
- // $FlowFixMe(>=0.90.0)
146
+ // $FlowFixMe[incompatible-use]
148
147
  return outputValue.toJSON();
149
148
  }
150
149
  }
package/type/scalars.mjs CHANGED
@@ -125,7 +125,7 @@ function serializeObject(outputValue) {
125
125
  }
126
126
 
127
127
  if (typeof outputValue.toJSON === 'function') {
128
- // $FlowFixMe(>=0.90.0)
128
+ // $FlowFixMe[incompatible-use]
129
129
  return outputValue.toJSON();
130
130
  }
131
131
  }
package/type/schema.js CHANGED
@@ -7,29 +7,29 @@ exports.isSchema = isSchema;
7
7
  exports.assertSchema = assertSchema;
8
8
  exports.GraphQLSchema = void 0;
9
9
 
10
- var _find = _interopRequireDefault(require("../polyfills/find"));
10
+ var _find = _interopRequireDefault(require("../polyfills/find.js"));
11
11
 
12
- var _arrayFrom3 = _interopRequireDefault(require("../polyfills/arrayFrom"));
12
+ var _arrayFrom3 = _interopRequireDefault(require("../polyfills/arrayFrom.js"));
13
13
 
14
- var _objectValues5 = _interopRequireDefault(require("../polyfills/objectValues"));
14
+ var _objectValues5 = _interopRequireDefault(require("../polyfills/objectValues.js"));
15
15
 
16
- var _symbols = require("../polyfills/symbols");
16
+ var _symbols = require("../polyfills/symbols.js");
17
17
 
18
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
18
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
19
19
 
20
- var _toObjMap = _interopRequireDefault(require("../jsutils/toObjMap"));
20
+ var _toObjMap = _interopRequireDefault(require("../jsutils/toObjMap.js"));
21
21
 
22
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
22
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
23
23
 
24
- var _instanceOf = _interopRequireDefault(require("../jsutils/instanceOf"));
24
+ var _instanceOf = _interopRequireDefault(require("../jsutils/instanceOf.js"));
25
25
 
26
- var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
26
+ var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
27
27
 
28
- var _introspection = require("./introspection");
28
+ var _introspection = require("./introspection.js");
29
29
 
30
- var _directives = require("./directives");
30
+ var _directives = require("./directives.js");
31
31
 
32
- var _definition = require("./definition");
32
+ var _definition = require("./definition.js");
33
33
 
34
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
35
 
@@ -331,7 +331,7 @@ var GraphQLSchema = /*#__PURE__*/function () {
331
331
  extensionASTNodes: (_this$extensionASTNod = this.extensionASTNodes) !== null && _this$extensionASTNod !== void 0 ? _this$extensionASTNod : [],
332
332
  assumeValid: this.__validationErrors !== undefined
333
333
  };
334
- } // $FlowFixMe Flow doesn't support computed properties yet
334
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
335
335
  ;
336
336
 
337
337
  _createClass(GraphQLSchema, [{
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import find from '../polyfills/find';
4
3
  import arrayFrom from '../polyfills/arrayFrom';
5
4
  import objectValues from '../polyfills/objectValues';
@@ -144,7 +143,7 @@ export class GraphQLSchema {
144
143
  // Used as a cache for validateSchema().
145
144
  __validationErrors: ?$ReadOnlyArray<GraphQLError>;
146
145
 
147
- constructor(config: $ReadOnly<GraphQLSchemaConfig>): void {
146
+ constructor(config: $ReadOnly<GraphQLSchemaConfig>) {
148
147
  // If this schema was built from a source known to be valid, then it may be
149
148
  // marked with assumeValid to avoid an additional type system validation.
150
149
  this.__validationErrors = config.assumeValid === true ? [] : undefined;
@@ -357,7 +356,7 @@ export class GraphQLSchema {
357
356
  };
358
357
  }
359
358
 
360
- // $FlowFixMe Flow doesn't support computed properties yet
359
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
361
360
  get [SYMBOL_TO_STRING_TAG]() {
362
361
  return 'GraphQLSchema';
363
362
  }
package/type/schema.mjs CHANGED
@@ -310,7 +310,7 @@ export var GraphQLSchema = /*#__PURE__*/function () {
310
310
  extensionASTNodes: (_this$extensionASTNod = this.extensionASTNodes) !== null && _this$extensionASTNod !== void 0 ? _this$extensionASTNod : [],
311
311
  assumeValid: this.__validationErrors !== undefined
312
312
  };
313
- } // $FlowFixMe Flow doesn't support computed properties yet
313
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
314
314
  ;
315
315
 
316
316
  _createClass(GraphQLSchema, [{
package/type/validate.js CHANGED
@@ -6,29 +6,27 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.validateSchema = validateSchema;
7
7
  exports.assertValidSchema = assertValidSchema;
8
8
 
9
- var _find = _interopRequireDefault(require("../polyfills/find"));
9
+ var _find = _interopRequireDefault(require("../polyfills/find.js"));
10
10
 
11
- var _flatMap = _interopRequireDefault(require("../polyfills/flatMap"));
11
+ var _objectValues5 = _interopRequireDefault(require("../polyfills/objectValues.js"));
12
12
 
13
- var _objectValues5 = _interopRequireDefault(require("../polyfills/objectValues"));
13
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
14
14
 
15
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
15
+ var _GraphQLError = require("../error/GraphQLError.js");
16
16
 
17
- var _GraphQLError = require("../error/GraphQLError");
17
+ var _locatedError = require("../error/locatedError.js");
18
18
 
19
- var _locatedError = require("../error/locatedError");
19
+ var _assertValidName = require("../utilities/assertValidName.js");
20
20
 
21
- var _assertValidName = require("../utilities/assertValidName");
21
+ var _typeComparators = require("../utilities/typeComparators.js");
22
22
 
23
- var _typeComparators = require("../utilities/typeComparators");
23
+ var _schema = require("./schema.js");
24
24
 
25
- var _schema = require("./schema");
25
+ var _introspection = require("./introspection.js");
26
26
 
27
- var _directives = require("./directives");
27
+ var _directives = require("./directives.js");
28
28
 
29
- var _introspection = require("./introspection");
30
-
31
- var _definition = require("./definition");
29
+ var _definition = require("./definition.js");
32
30
 
33
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
32
 
@@ -166,6 +164,13 @@ function validateDirectives(context) {
166
164
  if (!(0, _definition.isInputType)(arg.type)) {
167
165
  context.reportError("The type of @".concat(directive.name, "(").concat(arg.name, ":) must be Input Type ") + "but got: ".concat((0, _inspect.default)(arg.type), "."), arg.astNode);
168
166
  }
167
+
168
+ if ((0, _definition.isRequiredArgument)(arg) && arg.deprecationReason != null) {
169
+ var _arg$astNode;
170
+
171
+ context.reportError("Required argument @".concat(directive.name, "(").concat(arg.name, ":) cannot be deprecated."), [getDeprecatedDirectiveNode(arg.astNode), // istanbul ignore next (TODO need to write coverage tests)
172
+ (_arg$astNode = arg.astNode) === null || _arg$astNode === void 0 ? void 0 : _arg$astNode.type]);
173
+ }
169
174
  }
170
175
  }
171
176
  }
@@ -248,9 +253,16 @@ function validateFields(context, type) {
248
253
  validateName(context, arg); // Ensure the type is an input type
249
254
 
250
255
  if (!(0, _definition.isInputType)(arg.type)) {
251
- var _arg$astNode;
256
+ var _arg$astNode2;
252
257
 
253
- context.reportError("The type of ".concat(type.name, ".").concat(field.name, "(").concat(argName, ":) must be Input ") + "Type but got: ".concat((0, _inspect.default)(arg.type), "."), (_arg$astNode = arg.astNode) === null || _arg$astNode === void 0 ? void 0 : _arg$astNode.type);
258
+ context.reportError("The type of ".concat(type.name, ".").concat(field.name, "(").concat(argName, ":) must be Input ") + "Type but got: ".concat((0, _inspect.default)(arg.type), "."), (_arg$astNode2 = arg.astNode) === null || _arg$astNode2 === void 0 ? void 0 : _arg$astNode2.type);
259
+ }
260
+
261
+ if ((0, _definition.isRequiredArgument)(arg) && arg.deprecationReason != null) {
262
+ var _arg$astNode3;
263
+
264
+ context.reportError("Required argument ".concat(type.name, ".").concat(field.name, "(").concat(argName, ":) cannot be deprecated."), [getDeprecatedDirectiveNode(arg.astNode), // istanbul ignore next (TODO need to write coverage tests)
265
+ (_arg$astNode3 = arg.astNode) === null || _arg$astNode3 === void 0 ? void 0 : _arg$astNode3.type]);
254
266
  }
255
267
  }
256
268
  }
@@ -431,6 +443,13 @@ function validateInputFields(context, inputObj) {
431
443
 
432
444
  context.reportError("The type of ".concat(inputObj.name, ".").concat(field.name, " must be Input Type ") + "but got: ".concat((0, _inspect.default)(field.type), "."), (_field$astNode2 = field.astNode) === null || _field$astNode2 === void 0 ? void 0 : _field$astNode2.type);
433
445
  }
446
+
447
+ if ((0, _definition.isRequiredInputField)(field) && field.deprecationReason != null) {
448
+ var _field$astNode3;
449
+
450
+ context.reportError("Required input field ".concat(inputObj.name, ".").concat(field.name, " cannot be deprecated."), [getDeprecatedDirectiveNode(field.astNode), // istanbul ignore next (TODO need to write coverage tests)
451
+ (_field$astNode3 = field.astNode) === null || _field$astNode3 === void 0 ? void 0 : _field$astNode3.type]);
452
+ }
434
453
  }
435
454
  }
436
455
 
@@ -491,12 +510,17 @@ function getAllNodes(object) {
491
510
  }
492
511
 
493
512
  function getAllSubNodes(object, getter) {
494
- // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')
495
- return (0, _flatMap.default)(getAllNodes(object), function (item) {
513
+ var subNodes = [];
514
+
515
+ for (var _i32 = 0, _getAllNodes2 = getAllNodes(object); _i32 < _getAllNodes2.length; _i32++) {
496
516
  var _getter;
497
517
 
498
- return (_getter = getter(item)) !== null && _getter !== void 0 ? _getter : [];
499
- });
518
+ var node = _getAllNodes2[_i32];
519
+ // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')
520
+ subNodes = subNodes.concat((_getter = getter(node)) !== null && _getter !== void 0 ? _getter : []);
521
+ }
522
+
523
+ return subNodes;
500
524
  }
501
525
 
502
526
  function getAllImplementsInterfaceNodes(type, iface) {
@@ -514,3 +538,12 @@ function getUnionMemberTypeNodes(union, typeName) {
514
538
  return typeNode.name.value === typeName;
515
539
  });
516
540
  }
541
+
542
+ function getDeprecatedDirectiveNode(definitionNode) {
543
+ var _definitionNode$direc;
544
+
545
+ // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')
546
+ return definitionNode === null || definitionNode === void 0 ? void 0 : (_definitionNode$direc = definitionNode.directives) === null || _definitionNode$direc === void 0 ? void 0 : _definitionNode$direc.find(function (node) {
547
+ return node.name.value === _directives.GraphQLDeprecatedDirective.name;
548
+ });
549
+ }