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
@@ -7,41 +7,41 @@ exports.extendSchema = extendSchema;
7
7
  exports.extendSchemaImpl = extendSchemaImpl;
8
8
  exports.getDescription = getDescription;
9
9
 
10
- var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
10
+ var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
11
11
 
12
- var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
12
+ var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
13
13
 
14
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
14
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
15
15
 
16
- var _mapValue = _interopRequireDefault(require("../jsutils/mapValue"));
16
+ var _mapValue = _interopRequireDefault(require("../jsutils/mapValue.js"));
17
17
 
18
- var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
18
+ var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
19
19
 
20
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
20
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
21
21
 
22
- var _kinds = require("../language/kinds");
22
+ var _kinds = require("../language/kinds.js");
23
23
 
24
- var _tokenKind = require("../language/tokenKind");
24
+ var _tokenKind = require("../language/tokenKind.js");
25
25
 
26
- var _blockString = require("../language/blockString");
26
+ var _blockString = require("../language/blockString.js");
27
27
 
28
- var _predicates = require("../language/predicates");
28
+ var _predicates = require("../language/predicates.js");
29
29
 
30
- var _validate = require("../validation/validate");
30
+ var _validate = require("../validation/validate.js");
31
31
 
32
- var _values = require("../execution/values");
32
+ var _values = require("../execution/values.js");
33
33
 
34
- var _schema = require("../type/schema");
34
+ var _schema = require("../type/schema.js");
35
35
 
36
- var _scalars = require("../type/scalars");
36
+ var _scalars = require("../type/scalars.js");
37
37
 
38
- var _introspection = require("../type/introspection");
38
+ var _introspection = require("../type/introspection.js");
39
39
 
40
- var _directives = require("../type/directives");
40
+ var _directives = require("../type/directives.js");
41
41
 
42
- var _definition = require("../type/definition");
42
+ var _definition = require("../type/definition.js");
43
43
 
44
- var _valueFromAST = require("./valueFromAST");
44
+ var _valueFromAST = require("./valueFromAST.js");
45
45
 
46
46
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
47
 
@@ -160,8 +160,12 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
160
160
 
161
161
  function replaceType(type) {
162
162
  if ((0, _definition.isListType)(type)) {
163
+ // $FlowFixMe[incompatible-return]
163
164
  return new _definition.GraphQLList(replaceType(type.ofType));
164
- } else if ((0, _definition.isNonNullType)(type)) {
165
+ }
166
+
167
+ if ((0, _definition.isNonNullType)(type)) {
168
+ // $FlowFixMe[incompatible-return]
165
169
  return new _definition.GraphQLNonNull(replaceType(type.ofType));
166
170
  }
167
171
 
@@ -313,6 +317,7 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
313
317
  function extendField(field) {
314
318
  return _objectSpread(_objectSpread({}, field), {}, {
315
319
  type: replaceType(field.type),
320
+ // $FlowFixMe[incompatible-call]
316
321
  args: (0, _mapValue.default)(field.args, extendArg)
317
322
  });
318
323
  }
@@ -428,6 +433,7 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
428
433
  type: type,
429
434
  description: getDescription(arg, options),
430
435
  defaultValue: (0, _valueFromAST.valueFromAST)(arg.defaultValue, type),
436
+ deprecationReason: getDeprecationReason(arg),
431
437
  astNode: arg
432
438
  };
433
439
  }
@@ -455,6 +461,7 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
455
461
  type: type,
456
462
  description: getDescription(field, options),
457
463
  defaultValue: (0, _valueFromAST.valueFromAST)(field.defaultValue, type),
464
+ deprecationReason: getDeprecationReason(field),
458
465
  astNode: field
459
466
  };
460
467
  }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import objectValues from '../polyfills/objectValues';
4
3
 
5
4
  import keyMap from '../jsutils/keyMap';
@@ -54,10 +53,12 @@ import type {
54
53
  import type {
55
54
  GraphQLType,
56
55
  GraphQLNamedType,
56
+ GraphQLFieldConfig,
57
57
  GraphQLFieldConfigMap,
58
+ GraphQLArgumentConfig,
59
+ GraphQLFieldConfigArgumentMap,
58
60
  GraphQLEnumValueConfigMap,
59
61
  GraphQLInputFieldConfigMap,
60
- GraphQLFieldConfigArgumentMap,
61
62
  } from '../type/definition';
62
63
  import { assertSchema, GraphQLSchema } from '../type/schema';
63
64
  import { specifiedScalarTypes, isSpecifiedScalarType } from '../type/scalars';
@@ -239,10 +240,13 @@ export function extendSchemaImpl(
239
240
  // Below are functions used for producing this schema that have closed over
240
241
  // this scope and have access to the schema, cache, and newly defined types.
241
242
 
242
- function replaceType(type) {
243
+ function replaceType<T: GraphQLType>(type: T): T {
243
244
  if (isListType(type)) {
245
+ // $FlowFixMe[incompatible-return]
244
246
  return new GraphQLList(replaceType(type.ofType));
245
- } else if (isNonNullType(type)) {
247
+ }
248
+ if (isNonNullType(type)) {
249
+ // $FlowFixMe[incompatible-return]
246
250
  return new GraphQLNonNull(replaceType(type.ofType));
247
251
  }
248
252
  return replaceNamedType(type);
@@ -393,15 +397,18 @@ export function extendSchemaImpl(
393
397
  });
394
398
  }
395
399
 
396
- function extendField(field) {
400
+ function extendField(
401
+ field: GraphQLFieldConfig<mixed, mixed>,
402
+ ): GraphQLFieldConfig<mixed, mixed> {
397
403
  return {
398
404
  ...field,
399
405
  type: replaceType(field.type),
406
+ // $FlowFixMe[incompatible-call]
400
407
  args: mapValue(field.args, extendArg),
401
408
  };
402
409
  }
403
410
 
404
- function extendArg(arg) {
411
+ function extendArg(arg: GraphQLArgumentConfig) {
405
412
  return {
406
413
  ...arg,
407
414
  type: replaceType(arg.type),
@@ -512,6 +519,7 @@ export function extendSchemaImpl(
512
519
  type,
513
520
  description: getDescription(arg, options),
514
521
  defaultValue: valueFromAST(arg.defaultValue, type),
522
+ deprecationReason: getDeprecationReason(arg),
515
523
  astNode: arg,
516
524
  };
517
525
  }
@@ -538,6 +546,7 @@ export function extendSchemaImpl(
538
546
  type,
539
547
  description: getDescription(field, options),
540
548
  defaultValue: valueFromAST(field.defaultValue, type),
549
+ deprecationReason: getDeprecationReason(field),
541
550
  astNode: field,
542
551
  };
543
552
  }
@@ -706,7 +715,10 @@ const stdTypeMap = keyMap(
706
715
  * deprecation reason.
707
716
  */
708
717
  function getDeprecationReason(
709
- node: EnumValueDefinitionNode | FieldDefinitionNode,
718
+ node:
719
+ | EnumValueDefinitionNode
720
+ | FieldDefinitionNode
721
+ | InputValueDefinitionNode,
710
722
  ): ?string {
711
723
  const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);
712
724
  return (deprecated?.reason: any);
@@ -131,8 +131,12 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
131
131
 
132
132
  function replaceType(type) {
133
133
  if (isListType(type)) {
134
+ // $FlowFixMe[incompatible-return]
134
135
  return new GraphQLList(replaceType(type.ofType));
135
- } else if (isNonNullType(type)) {
136
+ }
137
+
138
+ if (isNonNullType(type)) {
139
+ // $FlowFixMe[incompatible-return]
136
140
  return new GraphQLNonNull(replaceType(type.ofType));
137
141
  }
138
142
 
@@ -284,6 +288,7 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
284
288
  function extendField(field) {
285
289
  return _objectSpread(_objectSpread({}, field), {}, {
286
290
  type: replaceType(field.type),
291
+ // $FlowFixMe[incompatible-call]
287
292
  args: mapValue(field.args, extendArg)
288
293
  });
289
294
  }
@@ -399,6 +404,7 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
399
404
  type: type,
400
405
  description: getDescription(arg, options),
401
406
  defaultValue: valueFromAST(arg.defaultValue, type),
407
+ deprecationReason: getDeprecationReason(arg),
402
408
  astNode: arg
403
409
  };
404
410
  }
@@ -426,6 +432,7 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
426
432
  type: type,
427
433
  description: getDescription(field, options),
428
434
  defaultValue: valueFromAST(field.defaultValue, type),
435
+ deprecationReason: getDeprecationReason(field),
429
436
  astNode: field
430
437
  };
431
438
  }
@@ -7,23 +7,25 @@ exports.findBreakingChanges = findBreakingChanges;
7
7
  exports.findDangerousChanges = findDangerousChanges;
8
8
  exports.DangerousChangeType = exports.BreakingChangeType = void 0;
9
9
 
10
- var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
10
+ var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
11
11
 
12
- var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
12
+ var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
13
13
 
14
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
14
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
15
15
 
16
- var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
16
+ var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
17
17
 
18
- var _printer = require("../language/printer");
18
+ var _naturalCompare = _interopRequireDefault(require("../jsutils/naturalCompare.js"));
19
19
 
20
- var _visitor = require("../language/visitor");
20
+ var _printer = require("../language/printer.js");
21
21
 
22
- var _scalars = require("../type/scalars");
22
+ var _visitor = require("../language/visitor.js");
23
23
 
24
- var _definition = require("../type/definition");
24
+ var _scalars = require("../type/scalars.js");
25
25
 
26
- var _astFromValue = require("./astFromValue");
26
+ var _definition = require("../type/definition.js");
27
+
28
+ var _astFromValue = require("./astFromValue.js");
27
29
 
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
 
@@ -467,8 +469,10 @@ function stringifyValue(value, type) {
467
469
  ast != null || (0, _invariant.default)(0);
468
470
  var sortedAST = (0, _visitor.visit)(ast, {
469
471
  ObjectValue: function ObjectValue(objectNode) {
470
- var fields = [].concat(objectNode.fields).sort(function (fieldA, fieldB) {
471
- return fieldA.name.value.localeCompare(fieldB.name.value);
472
+ // Make a copy since sort mutates array
473
+ var fields = [].concat(objectNode.fields);
474
+ fields.sort(function (fieldA, fieldB) {
475
+ return (0, _naturalCompare.default)(fieldA.name.value, fieldB.name.value);
472
476
  });
473
477
  return _objectSpread(_objectSpread({}, objectNode), {}, {
474
478
  fields: fields
@@ -1,10 +1,10 @@
1
1
  // @flow strict
2
-
3
2
  import objectValues from '../polyfills/objectValues';
4
3
 
5
4
  import keyMap from '../jsutils/keyMap';
6
5
  import inspect from '../jsutils/inspect';
7
6
  import invariant from '../jsutils/invariant';
7
+ import naturalCompare from '../jsutils/naturalCompare';
8
8
 
9
9
  import { print } from '../language/printer';
10
10
  import { visit } from '../language/visitor';
@@ -543,8 +543,11 @@ function stringifyValue(value: mixed, type: GraphQLInputType): string {
543
543
 
544
544
  const sortedAST = visit(ast, {
545
545
  ObjectValue(objectNode) {
546
- const fields = [...objectNode.fields].sort((fieldA, fieldB) =>
547
- fieldA.name.value.localeCompare(fieldB.name.value),
546
+ // Make a copy since sort mutates array
547
+ const fields = [...objectNode.fields];
548
+
549
+ fields.sort((fieldA, fieldB) =>
550
+ naturalCompare(fieldA.name.value, fieldB.name.value),
548
551
  );
549
552
  return { ...objectNode, fields };
550
553
  },
@@ -8,6 +8,7 @@ import objectValues from "../polyfills/objectValues.mjs";
8
8
  import keyMap from "../jsutils/keyMap.mjs";
9
9
  import inspect from "../jsutils/inspect.mjs";
10
10
  import invariant from "../jsutils/invariant.mjs";
11
+ import naturalCompare from "../jsutils/naturalCompare.mjs";
11
12
  import { print } from "../language/printer.mjs";
12
13
  import { visit } from "../language/visitor.mjs";
13
14
  import { isSpecifiedScalarType } from "../type/scalars.mjs";
@@ -444,8 +445,10 @@ function stringifyValue(value, type) {
444
445
  ast != null || invariant(0);
445
446
  var sortedAST = visit(ast, {
446
447
  ObjectValue: function ObjectValue(objectNode) {
447
- var fields = [].concat(objectNode.fields).sort(function (fieldA, fieldB) {
448
- return fieldA.name.value.localeCompare(fieldB.name.value);
448
+ // Make a copy since sort mutates array
449
+ var fields = [].concat(objectNode.fields);
450
+ fields.sort(function (fieldA, fieldB) {
451
+ return naturalCompare(fieldA.name.value, fieldB.name.value);
449
452
  });
450
453
  return _objectSpread(_objectSpread({}, objectNode), {}, {
451
454
  fields: fields
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.findDeprecatedUsages = findDeprecatedUsages;
7
7
 
8
- var _validate = require("../validation/validate");
8
+ var _validate = require("../validation/validate.js");
9
9
 
10
- var _NoDeprecatedCustomRule = require("../validation/rules/custom/NoDeprecatedCustomRule");
10
+ var _NoDeprecatedCustomRule = require("../validation/rules/custom/NoDeprecatedCustomRule.js");
11
11
 
12
12
  /**
13
13
  * A validation rule which reports deprecated usages.
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import type { GraphQLError } from '../error/GraphQLError';
4
3
 
5
4
  import type { DocumentNode } from '../language/ast';
@@ -18,6 +18,10 @@ export interface IntrospectionOptions {
18
18
  // Whether to include `description` field on schema.
19
19
  // Default: false
20
20
  schemaDescription?: boolean;
21
+
22
+ // Whether target GraphQL server support deprecation of input values.
23
+ // Default: false
24
+ inputValueDeprecation?: boolean;
21
25
  }
22
26
 
23
27
  export function getIntrospectionQuery(options?: IntrospectionOptions): string;
@@ -169,6 +173,8 @@ export interface IntrospectionInputValue {
169
173
  readonly description?: Maybe<string>;
170
174
  readonly type: IntrospectionInputTypeRef;
171
175
  readonly defaultValue?: Maybe<string>;
176
+ readonly isDeprecated?: boolean;
177
+ readonly deprecationReason?: Maybe<string>;
172
178
  }
173
179
 
174
180
  export interface IntrospectionEnumValue {
@@ -16,12 +16,18 @@ function getIntrospectionQuery(options) {
16
16
  descriptions: true,
17
17
  specifiedByUrl: false,
18
18
  directiveIsRepeatable: false,
19
- schemaDescription: false
19
+ schemaDescription: false,
20
+ inputValueDeprecation: false
20
21
  }, options);
21
22
 
22
23
  var descriptions = optionsWithDefault.descriptions ? 'description' : '';
23
24
  var specifiedByUrl = optionsWithDefault.specifiedByUrl ? 'specifiedByUrl' : '';
24
25
  var directiveIsRepeatable = optionsWithDefault.directiveIsRepeatable ? 'isRepeatable' : '';
25
26
  var schemaDescription = optionsWithDefault.schemaDescription ? descriptions : '';
26
- return "\n query IntrospectionQuery {\n __schema {\n ".concat(schemaDescription, "\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ").concat(descriptions, "\n ").concat(directiveIsRepeatable, "\n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ").concat(descriptions, "\n ").concat(specifiedByUrl, "\n fields(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ").concat(descriptions, "\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n ");
27
+
28
+ function inputDeprecation(str) {
29
+ return optionsWithDefault.inputValueDeprecation ? str : '';
30
+ }
31
+
32
+ return "\n query IntrospectionQuery {\n __schema {\n ".concat(schemaDescription, "\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ").concat(descriptions, "\n ").concat(directiveIsRepeatable, "\n locations\n args").concat(inputDeprecation('(includeDeprecated: true)'), " {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ").concat(descriptions, "\n ").concat(specifiedByUrl, "\n fields(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n args").concat(inputDeprecation('(includeDeprecated: true)'), " {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields").concat(inputDeprecation('(includeDeprecated: true)'), " {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ").concat(descriptions, "\n type { ...TypeRef }\n defaultValue\n ").concat(inputDeprecation('isDeprecated'), "\n ").concat(inputDeprecation('deprecationReason'), "\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n ");
27
33
  }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import type { DirectiveLocationEnum } from '../language/directiveLocation';
4
3
 
5
4
  export type IntrospectionOptions = {|
@@ -18,6 +17,10 @@ export type IntrospectionOptions = {|
18
17
  // Whether to include `description` field on schema.
19
18
  // Default: false
20
19
  schemaDescription?: boolean,
20
+
21
+ // Whether target GraphQL server support deprecation of input values.
22
+ // Default: false
23
+ inputValueDeprecation?: boolean,
21
24
  |};
22
25
 
23
26
  export function getIntrospectionQuery(options?: IntrospectionOptions): string {
@@ -26,6 +29,7 @@ export function getIntrospectionQuery(options?: IntrospectionOptions): string {
26
29
  specifiedByUrl: false,
27
30
  directiveIsRepeatable: false,
28
31
  schemaDescription: false,
32
+ inputValueDeprecation: false,
29
33
  ...options,
30
34
  };
31
35
 
@@ -40,6 +44,10 @@ export function getIntrospectionQuery(options?: IntrospectionOptions): string {
40
44
  ? descriptions
41
45
  : '';
42
46
 
47
+ function inputDeprecation(str) {
48
+ return optionsWithDefault.inputValueDeprecation ? str : '';
49
+ }
50
+
43
51
  return `
44
52
  query IntrospectionQuery {
45
53
  __schema {
@@ -55,7 +63,7 @@ export function getIntrospectionQuery(options?: IntrospectionOptions): string {
55
63
  ${descriptions}
56
64
  ${directiveIsRepeatable}
57
65
  locations
58
- args {
66
+ args${inputDeprecation('(includeDeprecated: true)')} {
59
67
  ...InputValue
60
68
  }
61
69
  }
@@ -70,7 +78,7 @@ export function getIntrospectionQuery(options?: IntrospectionOptions): string {
70
78
  fields(includeDeprecated: true) {
71
79
  name
72
80
  ${descriptions}
73
- args {
81
+ args${inputDeprecation('(includeDeprecated: true)')} {
74
82
  ...InputValue
75
83
  }
76
84
  type {
@@ -79,7 +87,7 @@ export function getIntrospectionQuery(options?: IntrospectionOptions): string {
79
87
  isDeprecated
80
88
  deprecationReason
81
89
  }
82
- inputFields {
90
+ inputFields${inputDeprecation('(includeDeprecated: true)')} {
83
91
  ...InputValue
84
92
  }
85
93
  interfaces {
@@ -101,6 +109,8 @@ export function getIntrospectionQuery(options?: IntrospectionOptions): string {
101
109
  ${descriptions}
102
110
  type { ...TypeRef }
103
111
  defaultValue
112
+ ${inputDeprecation('isDeprecated')}
113
+ ${inputDeprecation('deprecationReason')}
104
114
  }
105
115
 
106
116
  fragment TypeRef on __Type {
@@ -175,7 +185,7 @@ export type IntrospectionScalarType = {|
175
185
  +kind: 'SCALAR',
176
186
  +name: string,
177
187
  +description?: ?string,
178
- +specifiedByUrl: ?string,
188
+ +specifiedByUrl?: ?string,
179
189
  |};
180
190
 
181
191
  export type IntrospectionObjectType = {|
@@ -282,6 +292,8 @@ export type IntrospectionInputValue = {|
282
292
  +description?: ?string,
283
293
  +type: IntrospectionInputTypeRef,
284
294
  +defaultValue: ?string,
295
+ +isDeprecated?: boolean,
296
+ +deprecationReason?: ?string,
285
297
  |};
286
298
 
287
299
  export type IntrospectionEnumValue = {|
@@ -9,12 +9,18 @@ export function getIntrospectionQuery(options) {
9
9
  descriptions: true,
10
10
  specifiedByUrl: false,
11
11
  directiveIsRepeatable: false,
12
- schemaDescription: false
12
+ schemaDescription: false,
13
+ inputValueDeprecation: false
13
14
  }, options);
14
15
 
15
16
  var descriptions = optionsWithDefault.descriptions ? 'description' : '';
16
17
  var specifiedByUrl = optionsWithDefault.specifiedByUrl ? 'specifiedByUrl' : '';
17
18
  var directiveIsRepeatable = optionsWithDefault.directiveIsRepeatable ? 'isRepeatable' : '';
18
19
  var schemaDescription = optionsWithDefault.schemaDescription ? descriptions : '';
19
- return "\n query IntrospectionQuery {\n __schema {\n ".concat(schemaDescription, "\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ").concat(descriptions, "\n ").concat(directiveIsRepeatable, "\n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ").concat(descriptions, "\n ").concat(specifiedByUrl, "\n fields(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ").concat(descriptions, "\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n ");
20
+
21
+ function inputDeprecation(str) {
22
+ return optionsWithDefault.inputValueDeprecation ? str : '';
23
+ }
24
+
25
+ return "\n query IntrospectionQuery {\n __schema {\n ".concat(schemaDescription, "\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ").concat(descriptions, "\n ").concat(directiveIsRepeatable, "\n locations\n args").concat(inputDeprecation('(includeDeprecated: true)'), " {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ").concat(descriptions, "\n ").concat(specifiedByUrl, "\n fields(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n args").concat(inputDeprecation('(includeDeprecated: true)'), " {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields").concat(inputDeprecation('(includeDeprecated: true)'), " {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ").concat(descriptions, "\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ").concat(descriptions, "\n type { ...TypeRef }\n defaultValue\n ").concat(inputDeprecation('isDeprecated'), "\n ").concat(inputDeprecation('deprecationReason'), "\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n ");
20
26
  }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getOperationAST = getOperationAST;
7
7
 
8
- var _kinds = require("../language/kinds");
8
+ var _kinds = require("../language/kinds.js");
9
9
 
10
10
  /**
11
11
  * Returns an operation AST given a document AST and optionally an operation
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import type { DocumentNode, OperationDefinitionNode } from '../language/ast';
4
3
  import { Kind } from '../language/kinds';
5
4
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getOperationRootType = getOperationRootType;
7
7
 
8
- var _GraphQLError = require("../error/GraphQLError");
8
+ var _GraphQLError = require("../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Extracts the root type of the operation from the schema.
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../error/GraphQLError';
4
3
 
5
4
  import type {
@@ -112,5 +112,8 @@ export {
112
112
  DangerousChange,
113
113
  } from './findBreakingChanges';
114
114
 
115
+ // Wrapper type that contains DocumentNode and types that can be deduced from it.
116
+ export { TypedQueryDocumentNode } from './typedQueryDocumentNode';
117
+
115
118
  // @deprecated: Report all deprecated usage within a GraphQL document.
116
119
  export { findDeprecatedUsages } from './findDeprecatedUsages';
@@ -202,46 +202,46 @@ Object.defineProperty(exports, "findDeprecatedUsages", {
202
202
  }
203
203
  });
204
204
 
205
- var _getIntrospectionQuery = require("./getIntrospectionQuery");
205
+ var _getIntrospectionQuery = require("./getIntrospectionQuery.js");
206
206
 
207
- var _getOperationAST = require("./getOperationAST");
207
+ var _getOperationAST = require("./getOperationAST.js");
208
208
 
209
- var _getOperationRootType = require("./getOperationRootType");
209
+ var _getOperationRootType = require("./getOperationRootType.js");
210
210
 
211
- var _introspectionFromSchema = require("./introspectionFromSchema");
211
+ var _introspectionFromSchema = require("./introspectionFromSchema.js");
212
212
 
213
- var _buildClientSchema = require("./buildClientSchema");
213
+ var _buildClientSchema = require("./buildClientSchema.js");
214
214
 
215
- var _buildASTSchema = require("./buildASTSchema");
215
+ var _buildASTSchema = require("./buildASTSchema.js");
216
216
 
217
- var _extendSchema = require("./extendSchema");
217
+ var _extendSchema = require("./extendSchema.js");
218
218
 
219
- var _lexicographicSortSchema = require("./lexicographicSortSchema");
219
+ var _lexicographicSortSchema = require("./lexicographicSortSchema.js");
220
220
 
221
- var _printSchema = require("./printSchema");
221
+ var _printSchema = require("./printSchema.js");
222
222
 
223
- var _typeFromAST = require("./typeFromAST");
223
+ var _typeFromAST = require("./typeFromAST.js");
224
224
 
225
- var _valueFromAST = require("./valueFromAST");
225
+ var _valueFromAST = require("./valueFromAST.js");
226
226
 
227
- var _valueFromASTUntyped = require("./valueFromASTUntyped");
227
+ var _valueFromASTUntyped = require("./valueFromASTUntyped.js");
228
228
 
229
- var _astFromValue = require("./astFromValue");
229
+ var _astFromValue = require("./astFromValue.js");
230
230
 
231
- var _TypeInfo = require("./TypeInfo");
231
+ var _TypeInfo = require("./TypeInfo.js");
232
232
 
233
- var _coerceInputValue = require("./coerceInputValue");
233
+ var _coerceInputValue = require("./coerceInputValue.js");
234
234
 
235
- var _concatAST = require("./concatAST");
235
+ var _concatAST = require("./concatAST.js");
236
236
 
237
- var _separateOperations = require("./separateOperations");
237
+ var _separateOperations = require("./separateOperations.js");
238
238
 
239
- var _stripIgnoredCharacters = require("./stripIgnoredCharacters");
239
+ var _stripIgnoredCharacters = require("./stripIgnoredCharacters.js");
240
240
 
241
- var _typeComparators = require("./typeComparators");
241
+ var _typeComparators = require("./typeComparators.js");
242
242
 
243
- var _assertValidName = require("./assertValidName");
243
+ var _assertValidName = require("./assertValidName.js");
244
244
 
245
- var _findBreakingChanges = require("./findBreakingChanges");
245
+ var _findBreakingChanges = require("./findBreakingChanges.js");
246
246
 
247
- var _findDeprecatedUsages = require("./findDeprecatedUsages");
247
+ var _findDeprecatedUsages = require("./findDeprecatedUsages.js");
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  // Produce the GraphQL query recommended for a full schema introspection.
4
3
  // Accepts optional IntrospectionOptions.
5
4
  export { getIntrospectionQuery } from './getIntrospectionQuery';
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.introspectionFromSchema = introspectionFromSchema;
7
7
 
8
- var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
8
+ var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
9
9
 
10
- var _parser = require("../language/parser");
10
+ var _parser = require("../language/parser.js");
11
11
 
12
- var _execute = require("../execution/execute");
12
+ var _execute = require("../execution/execute.js");
13
13
 
14
- var _getIntrospectionQuery = require("./getIntrospectionQuery");
14
+ var _getIntrospectionQuery = require("./getIntrospectionQuery.js");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -32,8 +32,10 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
32
32
  */
33
33
  function introspectionFromSchema(schema, options) {
34
34
  var optionsWithDefaults = _objectSpread({
35
+ specifiedByUrl: true,
35
36
  directiveIsRepeatable: true,
36
- schemaDescription: true
37
+ schemaDescription: true,
38
+ inputValueDeprecation: true
37
39
  }, options);
38
40
 
39
41
  var document = (0, _parser.parse)((0, _getIntrospectionQuery.getIntrospectionQuery)(optionsWithDefaults));