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 objectEntries from '../polyfills/objectEntries';
4
3
  import { SYMBOL_TO_STRING_TAG } from '../polyfills/symbols';
5
4
 
@@ -341,8 +340,8 @@ export function assertAbstractType(type: mixed): GraphQLAbstractType {
341
340
  * const PersonType = new GraphQLObjectType({
342
341
  * name: 'Person',
343
342
  * fields: () => ({
344
- * parents: { type: GraphQLList(PersonType) },
345
- * children: { type: GraphQLList(PersonType) },
343
+ * parents: { type: new GraphQLList(PersonType) },
344
+ * children: { type: new GraphQLList(PersonType) },
346
345
  * })
347
346
  * })
348
347
  *
@@ -358,6 +357,7 @@ declare class GraphQLList<+T: GraphQLType> {
358
357
  */
359
358
 
360
359
  export function GraphQLList(ofType) {
360
+ // istanbul ignore else (to be removed in v16.0.0)
361
361
  if (this instanceof GraphQLList) {
362
362
  this.ofType = assertType(ofType);
363
363
  } else {
@@ -397,7 +397,7 @@ defineInspect(GraphQLList);
397
397
  * const RowType = new GraphQLObjectType({
398
398
  * name: 'Row',
399
399
  * fields: () => ({
400
- * id: { type: GraphQLNonNull(GraphQLString) },
400
+ * id: { type: new GraphQLNonNull(GraphQLString) },
401
401
  * })
402
402
  * })
403
403
  *
@@ -414,6 +414,7 @@ declare class GraphQLNonNull<+T: GraphQLNullableType> {
414
414
  */
415
415
 
416
416
  export function GraphQLNonNull(ofType) {
417
+ // istanbul ignore else (to be removed in v16.0.0)
417
418
  if (this instanceof GraphQLNonNull) {
418
419
  this.ofType = assertNullableType(ofType);
419
420
  } else {
@@ -540,7 +541,7 @@ export function getNamedType(type) {
540
541
  export type Thunk<+T> = (() => T) | T;
541
542
 
542
543
  function resolveThunk<+T>(thunk: Thunk<T>): T {
543
- // $FlowFixMe(>=0.90.0)
544
+ // $FlowFixMe[incompatible-use]
544
545
  return typeof thunk === 'function' ? thunk() : thunk;
545
546
  }
546
547
 
@@ -583,7 +584,7 @@ export class GraphQLScalarType {
583
584
  astNode: ?ScalarTypeDefinitionNode;
584
585
  extensionASTNodes: ?$ReadOnlyArray<ScalarTypeExtensionNode>;
585
586
 
586
- constructor(config: $ReadOnly<GraphQLScalarTypeConfig<mixed, mixed>>): void {
587
+ constructor(config: $ReadOnly<GraphQLScalarTypeConfig<mixed, mixed>>) {
587
588
  const parseValue = config.parseValue ?? identityFunc;
588
589
  this.name = config.name;
589
590
  this.description = config.description;
@@ -591,7 +592,8 @@ export class GraphQLScalarType {
591
592
  this.serialize = config.serialize ?? identityFunc;
592
593
  this.parseValue = parseValue;
593
594
  this.parseLiteral =
594
- config.parseLiteral ?? ((node) => parseValue(valueFromASTUntyped(node)));
595
+ config.parseLiteral ??
596
+ ((node, variables) => parseValue(valueFromASTUntyped(node, variables)));
595
597
  this.extensions = config.extensions && toObjMap(config.extensions);
596
598
  this.astNode = config.astNode;
597
599
  this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);
@@ -619,14 +621,7 @@ export class GraphQLScalarType {
619
621
  }
620
622
  }
621
623
 
622
- toConfig(): {|
623
- ...GraphQLScalarTypeConfig<mixed, mixed>,
624
- serialize: GraphQLScalarSerializer<mixed>,
625
- parseValue: GraphQLScalarValueParser<mixed>,
626
- parseLiteral: GraphQLScalarLiteralParser<mixed>,
627
- extensions: ?ReadOnlyObjMap<mixed>,
628
- extensionASTNodes: $ReadOnlyArray<ScalarTypeExtensionNode>,
629
- |} {
624
+ toConfig(): GraphQLScalarTypeNormalizedConfig {
630
625
  return {
631
626
  name: this.name,
632
627
  description: this.description,
@@ -648,7 +643,7 @@ export class GraphQLScalarType {
648
643
  return this.toString();
649
644
  }
650
645
 
651
- // $FlowFixMe Flow doesn't support computed properties yet
646
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
652
647
  get [SYMBOL_TO_STRING_TAG]() {
653
648
  return 'GraphQLScalarType';
654
649
  }
@@ -685,6 +680,15 @@ export type GraphQLScalarTypeConfig<TInternal, TExternal> = {|
685
680
  extensionASTNodes?: ?$ReadOnlyArray<ScalarTypeExtensionNode>,
686
681
  |};
687
682
 
683
+ type GraphQLScalarTypeNormalizedConfig = {|
684
+ ...GraphQLScalarTypeConfig<mixed, mixed>,
685
+ serialize: GraphQLScalarSerializer<mixed>,
686
+ parseValue: GraphQLScalarValueParser<mixed>,
687
+ parseLiteral: GraphQLScalarLiteralParser<mixed>,
688
+ extensions: ?ReadOnlyObjMap<mixed>,
689
+ extensionASTNodes: $ReadOnlyArray<ScalarTypeExtensionNode>,
690
+ |};
691
+
688
692
  /**
689
693
  * Object Type Definition
690
694
  *
@@ -733,7 +737,7 @@ export class GraphQLObjectType {
733
737
  _fields: Thunk<GraphQLFieldMap<any, any>>;
734
738
  _interfaces: Thunk<Array<GraphQLInterfaceType>>;
735
739
 
736
- constructor(config: $ReadOnly<GraphQLObjectTypeConfig<any, any>>): void {
740
+ constructor(config: $ReadOnly<GraphQLObjectTypeConfig<any, any>>) {
737
741
  this.name = config.name;
738
742
  this.description = config.description;
739
743
  this.isTypeOf = config.isTypeOf;
@@ -765,13 +769,7 @@ export class GraphQLObjectType {
765
769
  return this._interfaces;
766
770
  }
767
771
 
768
- toConfig(): {|
769
- ...GraphQLObjectTypeConfig<any, any>,
770
- interfaces: Array<GraphQLInterfaceType>,
771
- fields: GraphQLFieldConfigMap<any, any>,
772
- extensions: ?ReadOnlyObjMap<mixed>,
773
- extensionASTNodes: $ReadOnlyArray<ObjectTypeExtensionNode>,
774
- |} {
772
+ toConfig(): GraphQLObjectTypeNormalizedConfig {
775
773
  return {
776
774
  name: this.name,
777
775
  description: this.description,
@@ -792,7 +790,7 @@ export class GraphQLObjectType {
792
790
  return this.toString();
793
791
  }
794
792
 
795
- // $FlowFixMe Flow doesn't support computed properties yet
793
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
796
794
  get [SYMBOL_TO_STRING_TAG]() {
797
795
  return 'GraphQLObjectType';
798
796
  }
@@ -853,6 +851,7 @@ function defineFieldMap<TSource, TContext>(
853
851
  description: argConfig.description,
854
852
  type: argConfig.type,
855
853
  defaultValue: argConfig.defaultValue,
854
+ deprecationReason: argConfig.deprecationReason,
856
855
  extensions: argConfig.extensions && toObjMap(argConfig.extensions),
857
856
  astNode: argConfig.astNode,
858
857
  }));
@@ -872,11 +871,13 @@ function defineFieldMap<TSource, TContext>(
872
871
  });
873
872
  }
874
873
 
875
- function isPlainObj(obj) {
874
+ function isPlainObj(obj: mixed): boolean {
876
875
  return isObjectLike(obj) && !Array.isArray(obj);
877
876
  }
878
877
 
879
- function fieldsToFieldsConfig(fields) {
878
+ function fieldsToFieldsConfig(
879
+ fields: GraphQLFieldMap<mixed, mixed>,
880
+ ): GraphQLFieldConfigMap<mixed, mixed> {
880
881
  return mapValue(fields, (field) => ({
881
882
  description: field.description,
882
883
  type: field.type,
@@ -902,6 +903,7 @@ export function argsToArgsConfig(
902
903
  description: arg.description,
903
904
  type: arg.type,
904
905
  defaultValue: arg.defaultValue,
906
+ deprecationReason: arg.deprecationReason,
905
907
  extensions: arg.extensions,
906
908
  astNode: arg.astNode,
907
909
  }),
@@ -919,6 +921,17 @@ export type GraphQLObjectTypeConfig<TSource, TContext> = {|
919
921
  extensionASTNodes?: ?$ReadOnlyArray<ObjectTypeExtensionNode>,
920
922
  |};
921
923
 
924
+ type GraphQLObjectTypeNormalizedConfig = {|
925
+ ...GraphQLObjectTypeConfig<any, any>,
926
+ interfaces: Array<GraphQLInterfaceType>,
927
+ fields: GraphQLFieldConfigMap<any, any>,
928
+ extensions: ?ReadOnlyObjMap<mixed>,
929
+ extensionASTNodes: $ReadOnlyArray<ObjectTypeExtensionNode>,
930
+ |};
931
+
932
+ /**
933
+ * Note: returning GraphQLObjectType is deprecated and will be removed in v16.0.0
934
+ */
922
935
  export type GraphQLTypeResolver<TSource, TContext> = (
923
936
  value: TSource,
924
937
  context: TContext,
@@ -978,6 +991,7 @@ export type GraphQLArgumentConfig = {|
978
991
  type: GraphQLInputType,
979
992
  defaultValue?: mixed,
980
993
  extensions?: ?ReadOnlyObjMapLike<mixed>,
994
+ deprecationReason?: ?string,
981
995
  astNode?: ?InputValueDefinitionNode,
982
996
  |};
983
997
 
@@ -996,10 +1010,12 @@ export type GraphQLField<
996
1010
  args: Array<GraphQLArgument>,
997
1011
  resolve?: GraphQLFieldResolver<TSource, TContext, TArgs>,
998
1012
  subscribe?: GraphQLFieldResolver<TSource, TContext, TArgs>,
999
- isDeprecated: boolean,
1000
1013
  deprecationReason: ?string,
1001
1014
  extensions: ?ReadOnlyObjMap<mixed>,
1002
1015
  astNode: ?FieldDefinitionNode,
1016
+
1017
+ // @deprecated and will be removed in v16
1018
+ isDeprecated: boolean,
1003
1019
  |};
1004
1020
 
1005
1021
  export type GraphQLArgument = {|
@@ -1007,6 +1023,7 @@ export type GraphQLArgument = {|
1007
1023
  description: ?string,
1008
1024
  type: GraphQLInputType,
1009
1025
  defaultValue: mixed,
1026
+ deprecationReason: ?string,
1010
1027
  extensions: ?ReadOnlyObjMap<mixed>,
1011
1028
  astNode: ?InputValueDefinitionNode,
1012
1029
  |};
@@ -1048,7 +1065,7 @@ export class GraphQLInterfaceType {
1048
1065
  _fields: Thunk<GraphQLFieldMap<any, any>>;
1049
1066
  _interfaces: Thunk<Array<GraphQLInterfaceType>>;
1050
1067
 
1051
- constructor(config: $ReadOnly<GraphQLInterfaceTypeConfig<any, any>>): void {
1068
+ constructor(config: $ReadOnly<GraphQLInterfaceTypeConfig<any, any>>) {
1052
1069
  this.name = config.name;
1053
1070
  this.description = config.description;
1054
1071
  this.resolveType = config.resolveType;
@@ -1080,13 +1097,7 @@ export class GraphQLInterfaceType {
1080
1097
  return this._interfaces;
1081
1098
  }
1082
1099
 
1083
- toConfig(): {|
1084
- ...GraphQLInterfaceTypeConfig<any, any>,
1085
- interfaces: Array<GraphQLInterfaceType>,
1086
- fields: GraphQLFieldConfigMap<any, any>,
1087
- extensions: ?ReadOnlyObjMap<mixed>,
1088
- extensionASTNodes: $ReadOnlyArray<InterfaceTypeExtensionNode>,
1089
- |} {
1100
+ toConfig(): GraphQLInterfaceTypeNormalizedConfig {
1090
1101
  return {
1091
1102
  name: this.name,
1092
1103
  description: this.description,
@@ -1107,7 +1118,7 @@ export class GraphQLInterfaceType {
1107
1118
  return this.toString();
1108
1119
  }
1109
1120
 
1110
- // $FlowFixMe Flow doesn't support computed properties yet
1121
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
1111
1122
  get [SYMBOL_TO_STRING_TAG]() {
1112
1123
  return 'GraphQLInterfaceType';
1113
1124
  }
@@ -1132,6 +1143,14 @@ export type GraphQLInterfaceTypeConfig<TSource, TContext> = {|
1132
1143
  extensionASTNodes?: ?$ReadOnlyArray<InterfaceTypeExtensionNode>,
1133
1144
  |};
1134
1145
 
1146
+ export type GraphQLInterfaceTypeNormalizedConfig = {|
1147
+ ...GraphQLInterfaceTypeConfig<any, any>,
1148
+ interfaces: Array<GraphQLInterfaceType>,
1149
+ fields: GraphQLFieldConfigMap<any, any>,
1150
+ extensions: ?ReadOnlyObjMap<mixed>,
1151
+ extensionASTNodes: $ReadOnlyArray<InterfaceTypeExtensionNode>,
1152
+ |};
1153
+
1135
1154
  /**
1136
1155
  * Union Type Definition
1137
1156
  *
@@ -1165,7 +1184,7 @@ export class GraphQLUnionType {
1165
1184
 
1166
1185
  _types: Thunk<Array<GraphQLObjectType>>;
1167
1186
 
1168
- constructor(config: $ReadOnly<GraphQLUnionTypeConfig<any, any>>): void {
1187
+ constructor(config: $ReadOnly<GraphQLUnionTypeConfig<any, any>>) {
1169
1188
  this.name = config.name;
1170
1189
  this.description = config.description;
1171
1190
  this.resolveType = config.resolveType;
@@ -1189,12 +1208,7 @@ export class GraphQLUnionType {
1189
1208
  return this._types;
1190
1209
  }
1191
1210
 
1192
- toConfig(): {|
1193
- ...GraphQLUnionTypeConfig<any, any>,
1194
- types: Array<GraphQLObjectType>,
1195
- extensions: ?ReadOnlyObjMap<mixed>,
1196
- extensionASTNodes: $ReadOnlyArray<UnionTypeExtensionNode>,
1197
- |} {
1211
+ toConfig(): GraphQLUnionTypeNormalizedConfig {
1198
1212
  return {
1199
1213
  name: this.name,
1200
1214
  description: this.description,
@@ -1214,7 +1228,7 @@ export class GraphQLUnionType {
1214
1228
  return this.toString();
1215
1229
  }
1216
1230
 
1217
- // $FlowFixMe Flow doesn't support computed properties yet
1231
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
1218
1232
  get [SYMBOL_TO_STRING_TAG]() {
1219
1233
  return 'GraphQLUnionType';
1220
1234
  }
@@ -1249,6 +1263,13 @@ export type GraphQLUnionTypeConfig<TSource, TContext> = {|
1249
1263
  extensionASTNodes?: ?$ReadOnlyArray<UnionTypeExtensionNode>,
1250
1264
  |};
1251
1265
 
1266
+ type GraphQLUnionTypeNormalizedConfig = {|
1267
+ ...GraphQLUnionTypeConfig<any, any>,
1268
+ types: Array<GraphQLObjectType>,
1269
+ extensions: ?ReadOnlyObjMap<mixed>,
1270
+ extensionASTNodes: $ReadOnlyArray<UnionTypeExtensionNode>,
1271
+ |};
1272
+
1252
1273
  /**
1253
1274
  * Enum Type Definition
1254
1275
  *
@@ -1281,7 +1302,7 @@ export class GraphQLEnumType /* <T> */ {
1281
1302
  _valueLookup: Map<any /* T */, GraphQLEnumValue>;
1282
1303
  _nameLookup: ObjMap<GraphQLEnumValue>;
1283
1304
 
1284
- constructor(config: $ReadOnly<GraphQLEnumTypeConfig /* <T> */>): void {
1305
+ constructor(config: $ReadOnly<GraphQLEnumTypeConfig /* <T> */>) {
1285
1306
  this.name = config.name;
1286
1307
  this.description = config.description;
1287
1308
  this.extensions = config.extensions && toObjMap(config.extensions);
@@ -1357,11 +1378,7 @@ export class GraphQLEnumType /* <T> */ {
1357
1378
  return enumValue.value;
1358
1379
  }
1359
1380
 
1360
- toConfig(): {|
1361
- ...GraphQLEnumTypeConfig,
1362
- extensions: ?ReadOnlyObjMap<mixed>,
1363
- extensionASTNodes: $ReadOnlyArray<EnumTypeExtensionNode>,
1364
- |} {
1381
+ toConfig(): GraphQLEnumTypeNormalizedConfig {
1365
1382
  const values = keyValMap(
1366
1383
  this.getValues(),
1367
1384
  (value) => value.name,
@@ -1392,7 +1409,7 @@ export class GraphQLEnumType /* <T> */ {
1392
1409
  return this.toString();
1393
1410
  }
1394
1411
 
1395
- // $FlowFixMe Flow doesn't support computed properties yet
1412
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
1396
1413
  get [SYMBOL_TO_STRING_TAG]() {
1397
1414
  return 'GraphQLEnumType';
1398
1415
  }
@@ -1450,6 +1467,12 @@ export type GraphQLEnumTypeConfig /* <T> */ = {|
1450
1467
  extensionASTNodes?: ?$ReadOnlyArray<EnumTypeExtensionNode>,
1451
1468
  |};
1452
1469
 
1470
+ type GraphQLEnumTypeNormalizedConfig = {|
1471
+ ...GraphQLEnumTypeConfig,
1472
+ extensions: ?ReadOnlyObjMap<mixed>,
1473
+ extensionASTNodes: $ReadOnlyArray<EnumTypeExtensionNode>,
1474
+ |};
1475
+
1453
1476
  export type GraphQLEnumValueConfigMap /* <T> */ = ObjMap<GraphQLEnumValueConfig /* <T> */>;
1454
1477
 
1455
1478
  export type GraphQLEnumValueConfig /* <T> */ = {|
@@ -1464,10 +1487,12 @@ export type GraphQLEnumValue /* <T> */ = {|
1464
1487
  name: string,
1465
1488
  description: ?string,
1466
1489
  value: any /* T */,
1467
- isDeprecated: boolean,
1468
1490
  deprecationReason: ?string,
1469
1491
  extensions: ?ReadOnlyObjMap<mixed>,
1470
1492
  astNode: ?EnumValueDefinitionNode,
1493
+
1494
+ // @deprecated and will be removed in v16
1495
+ isDeprecated: boolean,
1471
1496
  |};
1472
1497
 
1473
1498
  /**
@@ -1483,8 +1508,8 @@ export type GraphQLEnumValue /* <T> */ = {|
1483
1508
  * const GeoPoint = new GraphQLInputObjectType({
1484
1509
  * name: 'GeoPoint',
1485
1510
  * fields: {
1486
- * lat: { type: GraphQLNonNull(GraphQLFloat) },
1487
- * lon: { type: GraphQLNonNull(GraphQLFloat) },
1511
+ * lat: { type: new GraphQLNonNull(GraphQLFloat) },
1512
+ * lon: { type: new GraphQLNonNull(GraphQLFloat) },
1488
1513
  * alt: { type: GraphQLFloat, defaultValue: 0 },
1489
1514
  * }
1490
1515
  * });
@@ -1499,7 +1524,7 @@ export class GraphQLInputObjectType {
1499
1524
 
1500
1525
  _fields: Thunk<GraphQLInputFieldMap>;
1501
1526
 
1502
- constructor(config: $ReadOnly<GraphQLInputObjectTypeConfig>): void {
1527
+ constructor(config: $ReadOnly<GraphQLInputObjectTypeConfig>) {
1503
1528
  this.name = config.name;
1504
1529
  this.description = config.description;
1505
1530
  this.extensions = config.extensions && toObjMap(config.extensions);
@@ -1517,12 +1542,7 @@ export class GraphQLInputObjectType {
1517
1542
  return this._fields;
1518
1543
  }
1519
1544
 
1520
- toConfig(): {|
1521
- ...GraphQLInputObjectTypeConfig,
1522
- fields: GraphQLInputFieldConfigMap,
1523
- extensions: ?ReadOnlyObjMap<mixed>,
1524
- extensionASTNodes: $ReadOnlyArray<InputObjectTypeExtensionNode>,
1525
- |} {
1545
+ toConfig(): GraphQLInputObjectTypeNormalizedConfig {
1526
1546
  const fields = mapValue(this.getFields(), (field) => ({
1527
1547
  description: field.description,
1528
1548
  type: field.type,
@@ -1549,7 +1569,7 @@ export class GraphQLInputObjectType {
1549
1569
  return this.toString();
1550
1570
  }
1551
1571
 
1552
- // $FlowFixMe Flow doesn't support computed properties yet
1572
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
1553
1573
  get [SYMBOL_TO_STRING_TAG]() {
1554
1574
  return 'GraphQLInputObjectType';
1555
1575
  }
@@ -1577,6 +1597,7 @@ function defineInputFieldMap(
1577
1597
  description: fieldConfig.description,
1578
1598
  type: fieldConfig.type,
1579
1599
  defaultValue: fieldConfig.defaultValue,
1600
+ deprecationReason: fieldConfig.deprecationReason,
1580
1601
  extensions: fieldConfig.extensions && toObjMap(fieldConfig.extensions),
1581
1602
  astNode: fieldConfig.astNode,
1582
1603
  };
@@ -1592,10 +1613,18 @@ export type GraphQLInputObjectTypeConfig = {|
1592
1613
  extensionASTNodes?: ?$ReadOnlyArray<InputObjectTypeExtensionNode>,
1593
1614
  |};
1594
1615
 
1616
+ type GraphQLInputObjectTypeNormalizedConfig = {|
1617
+ ...GraphQLInputObjectTypeConfig,
1618
+ fields: GraphQLInputFieldConfigMap,
1619
+ extensions: ?ReadOnlyObjMap<mixed>,
1620
+ extensionASTNodes: $ReadOnlyArray<InputObjectTypeExtensionNode>,
1621
+ |};
1622
+
1595
1623
  export type GraphQLInputFieldConfig = {|
1596
1624
  description?: ?string,
1597
1625
  type: GraphQLInputType,
1598
1626
  defaultValue?: mixed,
1627
+ deprecationReason?: ?string,
1599
1628
  extensions?: ?ReadOnlyObjMapLike<mixed>,
1600
1629
  astNode?: ?InputValueDefinitionNode,
1601
1630
  |};
@@ -1607,6 +1636,7 @@ export type GraphQLInputField = {|
1607
1636
  description: ?string,
1608
1637
  type: GraphQLInputType,
1609
1638
  defaultValue: mixed,
1639
+ deprecationReason: ?string,
1610
1640
  extensions: ?ReadOnlyObjMap<mixed>,
1611
1641
  astNode: ?InputValueDefinitionNode,
1612
1642
  |};
@@ -204,8 +204,8 @@ export function assertAbstractType(type) {
204
204
  * const PersonType = new GraphQLObjectType({
205
205
  * name: 'Person',
206
206
  * fields: () => ({
207
- * parents: { type: GraphQLList(PersonType) },
208
- * children: { type: GraphQLList(PersonType) },
207
+ * parents: { type: new GraphQLList(PersonType) },
208
+ * children: { type: new GraphQLList(PersonType) },
209
209
  * })
210
210
  * })
211
211
  *
@@ -222,6 +222,7 @@ declare class GraphQLList<+T: GraphQLType> {
222
222
  */
223
223
 
224
224
  export function GraphQLList(ofType) {
225
+ // istanbul ignore else (to be removed in v16.0.0)
225
226
  if (this instanceof GraphQLList) {
226
227
  this.ofType = assertType(ofType);
227
228
  } else {
@@ -258,7 +259,7 @@ defineInspect(GraphQLList);
258
259
  * const RowType = new GraphQLObjectType({
259
260
  * name: 'Row',
260
261
  * fields: () => ({
261
- * id: { type: GraphQLNonNull(GraphQLString) },
262
+ * id: { type: new GraphQLNonNull(GraphQLString) },
262
263
  * })
263
264
  * })
264
265
  *
@@ -276,6 +277,7 @@ declare class GraphQLNonNull<+T: GraphQLNullableType> {
276
277
  */
277
278
 
278
279
  export function GraphQLNonNull(ofType) {
280
+ // istanbul ignore else (to be removed in v16.0.0)
279
281
  if (this instanceof GraphQLNonNull) {
280
282
  this.ofType = assertNullableType(ofType);
281
283
  } else {
@@ -368,7 +370,7 @@ export function getNamedType(type) {
368
370
  */
369
371
 
370
372
  function resolveThunk(thunk) {
371
- // $FlowFixMe(>=0.90.0)
373
+ // $FlowFixMe[incompatible-use]
372
374
  return typeof thunk === 'function' ? thunk() : thunk;
373
375
  }
374
376
 
@@ -411,8 +413,8 @@ export var GraphQLScalarType = /*#__PURE__*/function () {
411
413
  this.specifiedByUrl = config.specifiedByUrl;
412
414
  this.serialize = (_config$serialize = config.serialize) !== null && _config$serialize !== void 0 ? _config$serialize : identityFunc;
413
415
  this.parseValue = parseValue;
414
- this.parseLiteral = (_config$parseLiteral = config.parseLiteral) !== null && _config$parseLiteral !== void 0 ? _config$parseLiteral : function (node) {
415
- return parseValue(valueFromASTUntyped(node));
416
+ this.parseLiteral = (_config$parseLiteral = config.parseLiteral) !== null && _config$parseLiteral !== void 0 ? _config$parseLiteral : function (node, variables) {
417
+ return parseValue(valueFromASTUntyped(node, variables));
416
418
  };
417
419
  this.extensions = config.extensions && toObjMap(config.extensions);
418
420
  this.astNode = config.astNode;
@@ -450,7 +452,7 @@ export var GraphQLScalarType = /*#__PURE__*/function () {
450
452
 
451
453
  _proto.toJSON = function toJSON() {
452
454
  return this.toString();
453
- } // $FlowFixMe Flow doesn't support computed properties yet
455
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
454
456
  ;
455
457
 
456
458
  _createClass(GraphQLScalarType, [{
@@ -553,7 +555,7 @@ export var GraphQLObjectType = /*#__PURE__*/function () {
553
555
 
554
556
  _proto2.toJSON = function toJSON() {
555
557
  return this.toString();
556
- } // $FlowFixMe Flow doesn't support computed properties yet
558
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
557
559
  ;
558
560
 
559
561
  _createClass(GraphQLObjectType, [{
@@ -595,6 +597,7 @@ function defineFieldMap(config) {
595
597
  description: argConfig.description,
596
598
  type: argConfig.type,
597
599
  defaultValue: argConfig.defaultValue,
600
+ deprecationReason: argConfig.deprecationReason,
598
601
  extensions: argConfig.extensions && toObjMap(argConfig.extensions),
599
602
  astNode: argConfig.astNode
600
603
  };
@@ -645,6 +648,7 @@ export function argsToArgsConfig(args) {
645
648
  description: arg.description,
646
649
  type: arg.type,
647
650
  defaultValue: arg.defaultValue,
651
+ deprecationReason: arg.deprecationReason,
648
652
  extensions: arg.extensions,
649
653
  astNode: arg.astNode
650
654
  };
@@ -725,7 +729,7 @@ export var GraphQLInterfaceType = /*#__PURE__*/function () {
725
729
 
726
730
  _proto3.toJSON = function toJSON() {
727
731
  return this.toString();
728
- } // $FlowFixMe Flow doesn't support computed properties yet
732
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
729
733
  ;
730
734
 
731
735
  _createClass(GraphQLInterfaceType, [{
@@ -806,7 +810,7 @@ export var GraphQLUnionType = /*#__PURE__*/function () {
806
810
 
807
811
  _proto4.toJSON = function toJSON() {
808
812
  return this.toString();
809
- } // $FlowFixMe Flow doesn't support computed properties yet
813
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
810
814
  ;
811
815
 
812
816
  _createClass(GraphQLUnionType, [{
@@ -954,7 +958,7 @@ export var GraphQLEnumType
954
958
 
955
959
  _proto5.toJSON = function toJSON() {
956
960
  return this.toString();
957
- } // $FlowFixMe Flow doesn't support computed properties yet
961
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
958
962
  ;
959
963
 
960
964
  _createClass(GraphQLEnumType, [{
@@ -1009,8 +1013,8 @@ function defineEnumValues(typeName, valueMap) {
1009
1013
  * const GeoPoint = new GraphQLInputObjectType({
1010
1014
  * name: 'GeoPoint',
1011
1015
  * fields: {
1012
- * lat: { type: GraphQLNonNull(GraphQLFloat) },
1013
- * lon: { type: GraphQLNonNull(GraphQLFloat) },
1016
+ * lat: { type: new GraphQLNonNull(GraphQLFloat) },
1017
+ * lon: { type: new GraphQLNonNull(GraphQLFloat) },
1014
1018
  * alt: { type: GraphQLFloat, defaultValue: 0 },
1015
1019
  * }
1016
1020
  * });
@@ -1065,7 +1069,7 @@ export var GraphQLInputObjectType = /*#__PURE__*/function () {
1065
1069
 
1066
1070
  _proto6.toJSON = function toJSON() {
1067
1071
  return this.toString();
1068
- } // $FlowFixMe Flow doesn't support computed properties yet
1072
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
1069
1073
  ;
1070
1074
 
1071
1075
  _createClass(GraphQLInputObjectType, [{
@@ -1090,6 +1094,7 @@ function defineInputFieldMap(config) {
1090
1094
  description: fieldConfig.description,
1091
1095
  type: fieldConfig.type,
1092
1096
  defaultValue: fieldConfig.defaultValue,
1097
+ deprecationReason: fieldConfig.deprecationReason,
1093
1098
  extensions: fieldConfig.extensions && toObjMap(fieldConfig.extensions),
1094
1099
  astNode: fieldConfig.astNode
1095
1100
  };
@@ -8,27 +8,27 @@ exports.assertDirective = assertDirective;
8
8
  exports.isSpecifiedDirective = isSpecifiedDirective;
9
9
  exports.specifiedDirectives = exports.GraphQLSpecifiedByDirective = exports.GraphQLDeprecatedDirective = exports.DEFAULT_DEPRECATION_REASON = exports.GraphQLSkipDirective = exports.GraphQLIncludeDirective = exports.GraphQLDirective = void 0;
10
10
 
11
- var _objectEntries = _interopRequireDefault(require("../polyfills/objectEntries"));
11
+ var _objectEntries = _interopRequireDefault(require("../polyfills/objectEntries.js"));
12
12
 
13
- var _symbols = require("../polyfills/symbols");
13
+ var _symbols = require("../polyfills/symbols.js");
14
14
 
15
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
15
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
16
16
 
17
- var _toObjMap = _interopRequireDefault(require("../jsutils/toObjMap"));
17
+ var _toObjMap = _interopRequireDefault(require("../jsutils/toObjMap.js"));
18
18
 
19
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
19
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
20
20
 
21
- var _instanceOf = _interopRequireDefault(require("../jsutils/instanceOf"));
21
+ var _instanceOf = _interopRequireDefault(require("../jsutils/instanceOf.js"));
22
22
 
23
- var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
23
+ var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
24
24
 
25
- var _defineInspect = _interopRequireDefault(require("../jsutils/defineInspect"));
25
+ var _defineInspect = _interopRequireDefault(require("../jsutils/defineInspect.js"));
26
26
 
27
- var _directiveLocation = require("../language/directiveLocation");
27
+ var _directiveLocation = require("../language/directiveLocation.js");
28
28
 
29
- var _scalars = require("./scalars");
29
+ var _scalars = require("./scalars.js");
30
30
 
31
- var _definition = require("./definition");
31
+ var _definition = require("./definition.js");
32
32
 
33
33
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
34
 
@@ -76,6 +76,7 @@ var GraphQLDirective = /*#__PURE__*/function () {
76
76
  description: argConfig.description,
77
77
  type: argConfig.type,
78
78
  defaultValue: argConfig.defaultValue,
79
+ deprecationReason: argConfig.deprecationReason,
79
80
  extensions: argConfig.extensions && (0, _toObjMap.default)(argConfig.extensions),
80
81
  astNode: argConfig.astNode
81
82
  };
@@ -102,7 +103,7 @@ var GraphQLDirective = /*#__PURE__*/function () {
102
103
 
103
104
  _proto.toJSON = function toJSON() {
104
105
  return this.toString();
105
- } // $FlowFixMe Flow doesn't support computed properties yet
106
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
106
107
  ;
107
108
 
108
109
  _createClass(GraphQLDirective, [{
@@ -128,7 +129,7 @@ var GraphQLIncludeDirective = new GraphQLDirective({
128
129
  locations: [_directiveLocation.DirectiveLocation.FIELD, _directiveLocation.DirectiveLocation.FRAGMENT_SPREAD, _directiveLocation.DirectiveLocation.INLINE_FRAGMENT],
129
130
  args: {
130
131
  if: {
131
- type: (0, _definition.GraphQLNonNull)(_scalars.GraphQLBoolean),
132
+ type: new _definition.GraphQLNonNull(_scalars.GraphQLBoolean),
132
133
  description: 'Included when true.'
133
134
  }
134
135
  }
@@ -144,7 +145,7 @@ var GraphQLSkipDirective = new GraphQLDirective({
144
145
  locations: [_directiveLocation.DirectiveLocation.FIELD, _directiveLocation.DirectiveLocation.FRAGMENT_SPREAD, _directiveLocation.DirectiveLocation.INLINE_FRAGMENT],
145
146
  args: {
146
147
  if: {
147
- type: (0, _definition.GraphQLNonNull)(_scalars.GraphQLBoolean),
148
+ type: new _definition.GraphQLNonNull(_scalars.GraphQLBoolean),
148
149
  description: 'Skipped when true.'
149
150
  }
150
151
  }
@@ -163,7 +164,7 @@ exports.DEFAULT_DEPRECATION_REASON = DEFAULT_DEPRECATION_REASON;
163
164
  var GraphQLDeprecatedDirective = new GraphQLDirective({
164
165
  name: 'deprecated',
165
166
  description: 'Marks an element of a GraphQL schema as no longer supported.',
166
- locations: [_directiveLocation.DirectiveLocation.FIELD_DEFINITION, _directiveLocation.DirectiveLocation.ENUM_VALUE],
167
+ locations: [_directiveLocation.DirectiveLocation.FIELD_DEFINITION, _directiveLocation.DirectiveLocation.ARGUMENT_DEFINITION, _directiveLocation.DirectiveLocation.INPUT_FIELD_DEFINITION, _directiveLocation.DirectiveLocation.ENUM_VALUE],
167
168
  args: {
168
169
  reason: {
169
170
  type: _scalars.GraphQLString,
@@ -183,7 +184,7 @@ var GraphQLSpecifiedByDirective = new GraphQLDirective({
183
184
  locations: [_directiveLocation.DirectiveLocation.SCALAR],
184
185
  args: {
185
186
  url: {
186
- type: (0, _definition.GraphQLNonNull)(_scalars.GraphQLString),
187
+ type: new _definition.GraphQLNonNull(_scalars.GraphQLString),
187
188
  description: 'The URL that specifies the behaviour of this scalar.'
188
189
  }
189
190
  }