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
@@ -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
  }
@@ -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
 
@@ -55,7 +54,7 @@ export class GraphQLDirective {
55
54
  extensions: ?ReadOnlyObjMap<mixed>;
56
55
  astNode: ?DirectiveDefinitionNode;
57
56
 
58
- constructor(config: $ReadOnly<GraphQLDirectiveConfig>): void {
57
+ constructor(config: $ReadOnly<GraphQLDirectiveConfig>) {
59
58
  this.name = config.name;
60
59
  this.description = config.description;
61
60
  this.locations = config.locations;
@@ -80,17 +79,13 @@ export class GraphQLDirective {
80
79
  description: argConfig.description,
81
80
  type: argConfig.type,
82
81
  defaultValue: argConfig.defaultValue,
82
+ deprecationReason: argConfig.deprecationReason,
83
83
  extensions: argConfig.extensions && toObjMap(argConfig.extensions),
84
84
  astNode: argConfig.astNode,
85
85
  }));
86
86
  }
87
87
 
88
- toConfig(): {|
89
- ...GraphQLDirectiveConfig,
90
- args: GraphQLFieldConfigArgumentMap,
91
- isRepeatable: boolean,
92
- extensions: ?ReadOnlyObjMap<mixed>,
93
- |} {
88
+ toConfig(): GraphQLDirectiveNormalizedConfig {
94
89
  return {
95
90
  name: this.name,
96
91
  description: this.description,
@@ -110,7 +105,7 @@ export class GraphQLDirective {
110
105
  return this.toString();
111
106
  }
112
107
 
113
- // $FlowFixMe Flow doesn't support computed properties yet
108
+ // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
114
109
  get [SYMBOL_TO_STRING_TAG]() {
115
110
  return 'GraphQLDirective';
116
111
  }
@@ -129,6 +124,13 @@ export type GraphQLDirectiveConfig = {|
129
124
  astNode?: ?DirectiveDefinitionNode,
130
125
  |};
131
126
 
127
+ type GraphQLDirectiveNormalizedConfig = {|
128
+ ...GraphQLDirectiveConfig,
129
+ args: GraphQLFieldConfigArgumentMap,
130
+ isRepeatable: boolean,
131
+ extensions: ?ReadOnlyObjMap<mixed>,
132
+ |};
133
+
132
134
  /**
133
135
  * Used to conditionally include fields or fragments.
134
136
  */
@@ -143,7 +145,7 @@ export const GraphQLIncludeDirective = new GraphQLDirective({
143
145
  ],
144
146
  args: {
145
147
  if: {
146
- type: GraphQLNonNull(GraphQLBoolean),
148
+ type: new GraphQLNonNull(GraphQLBoolean),
147
149
  description: 'Included when true.',
148
150
  },
149
151
  },
@@ -163,7 +165,7 @@ export const GraphQLSkipDirective = new GraphQLDirective({
163
165
  ],
164
166
  args: {
165
167
  if: {
166
- type: GraphQLNonNull(GraphQLBoolean),
168
+ type: new GraphQLNonNull(GraphQLBoolean),
167
169
  description: 'Skipped when true.',
168
170
  },
169
171
  },
@@ -180,7 +182,12 @@ export const DEFAULT_DEPRECATION_REASON = 'No longer supported';
180
182
  export const GraphQLDeprecatedDirective = new GraphQLDirective({
181
183
  name: 'deprecated',
182
184
  description: 'Marks an element of a GraphQL schema as no longer supported.',
183
- locations: [DirectiveLocation.FIELD_DEFINITION, DirectiveLocation.ENUM_VALUE],
185
+ locations: [
186
+ DirectiveLocation.FIELD_DEFINITION,
187
+ DirectiveLocation.ARGUMENT_DEFINITION,
188
+ DirectiveLocation.INPUT_FIELD_DEFINITION,
189
+ DirectiveLocation.ENUM_VALUE,
190
+ ],
184
191
  args: {
185
192
  reason: {
186
193
  type: GraphQLString,
@@ -200,7 +207,7 @@ export const GraphQLSpecifiedByDirective = new GraphQLDirective({
200
207
  locations: [DirectiveLocation.SCALAR],
201
208
  args: {
202
209
  url: {
203
- type: GraphQLNonNull(GraphQLString),
210
+ type: new GraphQLNonNull(GraphQLString),
204
211
  description: 'The URL that specifies the behaviour of this scalar.',
205
212
  },
206
213
  },
@@ -55,6 +55,7 @@ export var GraphQLDirective = /*#__PURE__*/function () {
55
55
  description: argConfig.description,
56
56
  type: argConfig.type,
57
57
  defaultValue: argConfig.defaultValue,
58
+ deprecationReason: argConfig.deprecationReason,
58
59
  extensions: argConfig.extensions && toObjMap(argConfig.extensions),
59
60
  astNode: argConfig.astNode
60
61
  };
@@ -81,7 +82,7 @@ export var GraphQLDirective = /*#__PURE__*/function () {
81
82
 
82
83
  _proto.toJSON = function toJSON() {
83
84
  return this.toString();
84
- } // $FlowFixMe Flow doesn't support computed properties yet
85
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
85
86
  ;
86
87
 
87
88
  _createClass(GraphQLDirective, [{
@@ -105,7 +106,7 @@ export var GraphQLIncludeDirective = new GraphQLDirective({
105
106
  locations: [DirectiveLocation.FIELD, DirectiveLocation.FRAGMENT_SPREAD, DirectiveLocation.INLINE_FRAGMENT],
106
107
  args: {
107
108
  if: {
108
- type: GraphQLNonNull(GraphQLBoolean),
109
+ type: new GraphQLNonNull(GraphQLBoolean),
109
110
  description: 'Included when true.'
110
111
  }
111
112
  }
@@ -120,7 +121,7 @@ export var GraphQLSkipDirective = new GraphQLDirective({
120
121
  locations: [DirectiveLocation.FIELD, DirectiveLocation.FRAGMENT_SPREAD, DirectiveLocation.INLINE_FRAGMENT],
121
122
  args: {
122
123
  if: {
123
- type: GraphQLNonNull(GraphQLBoolean),
124
+ type: new GraphQLNonNull(GraphQLBoolean),
124
125
  description: 'Skipped when true.'
125
126
  }
126
127
  }
@@ -137,7 +138,7 @@ export var DEFAULT_DEPRECATION_REASON = 'No longer supported';
137
138
  export var GraphQLDeprecatedDirective = new GraphQLDirective({
138
139
  name: 'deprecated',
139
140
  description: 'Marks an element of a GraphQL schema as no longer supported.',
140
- locations: [DirectiveLocation.FIELD_DEFINITION, DirectiveLocation.ENUM_VALUE],
141
+ locations: [DirectiveLocation.FIELD_DEFINITION, DirectiveLocation.ARGUMENT_DEFINITION, DirectiveLocation.INPUT_FIELD_DEFINITION, DirectiveLocation.ENUM_VALUE],
141
142
  args: {
142
143
  reason: {
143
144
  type: GraphQLString,
@@ -156,7 +157,7 @@ export var GraphQLSpecifiedByDirective = new GraphQLDirective({
156
157
  locations: [DirectiveLocation.SCALAR],
157
158
  args: {
158
159
  url: {
159
- type: GraphQLNonNull(GraphQLString),
160
+ type: new GraphQLNonNull(GraphQLString),
160
161
  description: 'The URL that specifies the behaviour of this scalar.'
161
162
  }
162
163
  }
package/type/index.js CHANGED
@@ -496,14 +496,14 @@ Object.defineProperty(exports, "assertValidSchema", {
496
496
  }
497
497
  });
498
498
 
499
- var _schema = require("./schema");
499
+ var _schema = require("./schema.js");
500
500
 
501
- var _definition = require("./definition");
501
+ var _definition = require("./definition.js");
502
502
 
503
- var _directives = require("./directives");
503
+ var _directives = require("./directives.js");
504
504
 
505
- var _scalars = require("./scalars");
505
+ var _scalars = require("./scalars.js");
506
506
 
507
- var _introspection = require("./introspection");
507
+ var _introspection = require("./introspection.js");
508
508
 
509
- var _validate = require("./validate");
509
+ var _validate = require("./validate.js");
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export type { Path as ResponsePath } from '../jsutils/Path';
4
3
 
5
4
  export {