graphql 14.1.1 → 14.3.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 (377) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/error/GraphQLError.js +12 -10
  4. package/error/GraphQLError.js.flow +11 -6
  5. package/error/GraphQLError.mjs +20 -3
  6. package/error/formatError.js +2 -2
  7. package/error/formatError.js.flow +3 -3
  8. package/error/formatError.mjs +2 -2
  9. package/error/index.js +1 -1
  10. package/error/index.js.flow +5 -2
  11. package/error/index.mjs +2 -2
  12. package/error/locatedError.js +2 -2
  13. package/error/locatedError.js.flow +2 -2
  14. package/error/locatedError.mjs +2 -2
  15. package/error/printError.js +2 -2
  16. package/error/printError.js.flow +4 -5
  17. package/error/printError.mjs +2 -2
  18. package/error/syntaxError.js +2 -2
  19. package/error/syntaxError.js.flow +2 -2
  20. package/error/syntaxError.mjs +2 -2
  21. package/execution/execute.js +52 -37
  22. package/execution/execute.js.flow +66 -51
  23. package/execution/execute.mjs +50 -38
  24. package/execution/index.js +7 -1
  25. package/execution/index.js.flow +9 -4
  26. package/execution/index.mjs +3 -3
  27. package/execution/values.js +11 -11
  28. package/execution/values.js.flow +23 -19
  29. package/execution/values.mjs +11 -11
  30. package/graphql.js +13 -9
  31. package/graphql.js.flow +28 -10
  32. package/graphql.mjs +10 -9
  33. package/index.js +83 -53
  34. package/index.js.flow +60 -47
  35. package/index.mjs +26 -23
  36. package/jsutils/ObjMap.js +1 -1
  37. package/jsutils/ObjMap.js.flow +1 -1
  38. package/jsutils/ObjMap.mjs +1 -0
  39. package/jsutils/PromiseOrValue.js +1 -0
  40. package/jsutils/{MaybePromise.js.flow → PromiseOrValue.js.flow} +2 -2
  41. package/jsutils/PromiseOrValue.mjs +1 -0
  42. package/jsutils/dedent.js +2 -2
  43. package/jsutils/dedent.js.flow +1 -1
  44. package/jsutils/dedent.mjs +2 -2
  45. package/jsutils/defineToJSON.js +2 -2
  46. package/jsutils/defineToJSON.js.flow +1 -1
  47. package/jsutils/defineToJSON.mjs +2 -2
  48. package/jsutils/defineToStringTag.js +2 -2
  49. package/jsutils/defineToStringTag.js.flow +1 -1
  50. package/jsutils/defineToStringTag.mjs +2 -2
  51. package/jsutils/inspect.js +94 -19
  52. package/jsutils/inspect.js.flow +98 -20
  53. package/jsutils/inspect.mjs +94 -20
  54. package/jsutils/instanceOf.js +2 -2
  55. package/jsutils/instanceOf.js.flow +1 -1
  56. package/jsutils/instanceOf.mjs +2 -2
  57. package/jsutils/invariant.js +5 -3
  58. package/jsutils/invariant.js.flow +3 -2
  59. package/jsutils/invariant.mjs +5 -3
  60. package/jsutils/isInvalid.js +2 -2
  61. package/jsutils/isInvalid.js.flow +1 -1
  62. package/jsutils/isInvalid.mjs +2 -2
  63. package/jsutils/isNullish.js +2 -2
  64. package/jsutils/isNullish.js.flow +1 -1
  65. package/jsutils/isNullish.mjs +2 -2
  66. package/jsutils/isPromise.js +2 -2
  67. package/jsutils/isPromise.js.flow +1 -1
  68. package/jsutils/isPromise.mjs +2 -2
  69. package/jsutils/keyMap.js +4 -3
  70. package/jsutils/keyMap.js.flow +6 -6
  71. package/jsutils/keyMap.mjs +4 -3
  72. package/jsutils/keyValMap.js +4 -3
  73. package/jsutils/keyValMap.js.flow +6 -6
  74. package/jsutils/keyValMap.mjs +4 -3
  75. package/jsutils/mapValue.js +2 -2
  76. package/jsutils/mapValue.js.flow +2 -2
  77. package/jsutils/mapValue.mjs +2 -2
  78. package/jsutils/memoize3.js +3 -3
  79. package/jsutils/memoize3.js.flow +2 -2
  80. package/jsutils/memoize3.mjs +3 -3
  81. package/jsutils/nodejsCustomInspectSymbol.js +2 -2
  82. package/jsutils/nodejsCustomInspectSymbol.js.flow +1 -1
  83. package/jsutils/nodejsCustomInspectSymbol.mjs +2 -2
  84. package/jsutils/orList.js +2 -2
  85. package/jsutils/orList.js.flow +1 -1
  86. package/jsutils/orList.mjs +2 -2
  87. package/jsutils/promiseForObject.js +2 -2
  88. package/jsutils/promiseForObject.js.flow +2 -2
  89. package/jsutils/promiseForObject.mjs +2 -2
  90. package/jsutils/promiseReduce.js +2 -2
  91. package/jsutils/promiseReduce.js.flow +5 -5
  92. package/jsutils/promiseReduce.mjs +2 -2
  93. package/jsutils/quotedOrList.js +2 -2
  94. package/jsutils/quotedOrList.js.flow +1 -1
  95. package/jsutils/quotedOrList.mjs +2 -2
  96. package/jsutils/suggestionList.js +2 -2
  97. package/jsutils/suggestionList.js.flow +1 -1
  98. package/jsutils/suggestionList.mjs +2 -2
  99. package/language/ast.js +1 -1
  100. package/language/ast.js.flow +3 -3
  101. package/language/ast.mjs +1 -0
  102. package/language/blockString.js +114 -0
  103. package/language/blockString.js.flow +102 -0
  104. package/language/blockString.mjs +104 -0
  105. package/language/directiveLocation.js +2 -2
  106. package/language/directiveLocation.js.flow +1 -1
  107. package/language/directiveLocation.mjs +2 -2
  108. package/language/index.js +9 -9
  109. package/language/index.js.flow +10 -5
  110. package/language/index.mjs +3 -3
  111. package/language/kinds.js +2 -2
  112. package/language/kinds.js.flow +1 -1
  113. package/language/kinds.mjs +2 -2
  114. package/language/lexer.js +52 -44
  115. package/language/lexer.js.flow +65 -54
  116. package/language/lexer.mjs +49 -43
  117. package/language/location.js +2 -2
  118. package/language/location.js.flow +2 -2
  119. package/language/location.mjs +2 -2
  120. package/language/parser.js +75 -67
  121. package/language/parser.js.flow +138 -127
  122. package/language/parser.mjs +76 -68
  123. package/language/predicates.js +2 -2
  124. package/language/predicates.js.flow +2 -2
  125. package/language/predicates.mjs +2 -2
  126. package/language/printer.js +6 -14
  127. package/language/printer.js.flow +8 -17
  128. package/language/printer.mjs +5 -14
  129. package/language/source.js +2 -2
  130. package/language/source.js.flow +1 -1
  131. package/language/source.mjs +2 -2
  132. package/language/visitor.js +4 -6
  133. package/language/visitor.js.flow +3 -3
  134. package/language/visitor.mjs +4 -6
  135. package/package.json +1 -1
  136. package/polyfills/find.js +2 -2
  137. package/polyfills/find.js.flow +1 -1
  138. package/polyfills/find.mjs +2 -2
  139. package/polyfills/flatMap.js +38 -0
  140. package/polyfills/flatMap.js.flow +34 -0
  141. package/polyfills/flatMap.mjs +30 -0
  142. package/polyfills/isFinite.js +2 -2
  143. package/polyfills/isFinite.js.flow +1 -1
  144. package/polyfills/isFinite.mjs +2 -2
  145. package/polyfills/isInteger.js +2 -2
  146. package/polyfills/isInteger.js.flow +1 -1
  147. package/polyfills/isInteger.mjs +2 -2
  148. package/polyfills/objectEntries.js +2 -2
  149. package/polyfills/objectEntries.js.flow +2 -2
  150. package/polyfills/objectEntries.mjs +2 -2
  151. package/polyfills/objectValues.js +2 -2
  152. package/polyfills/objectValues.js.flow +2 -2
  153. package/polyfills/objectValues.mjs +2 -2
  154. package/subscription/asyncIteratorReject.js +1 -1
  155. package/subscription/asyncIteratorReject.js.flow +1 -1
  156. package/subscription/asyncIteratorReject.mjs +2 -2
  157. package/subscription/index.js +1 -1
  158. package/subscription/index.js.flow +1 -1
  159. package/subscription/index.mjs +2 -2
  160. package/subscription/mapAsyncIterator.js +1 -1
  161. package/subscription/mapAsyncIterator.js.flow +5 -5
  162. package/subscription/mapAsyncIterator.mjs +2 -2
  163. package/subscription/subscribe.js +2 -2
  164. package/subscription/subscribe.js.flow +6 -6
  165. package/subscription/subscribe.mjs +2 -2
  166. package/type/definition.js +138 -22
  167. package/type/definition.js.flow +184 -36
  168. package/type/definition.mjs +136 -23
  169. package/type/directives.js +14 -3
  170. package/type/directives.js.flow +24 -11
  171. package/type/directives.mjs +16 -5
  172. package/type/index.js +7 -7
  173. package/type/index.js.flow +8 -4
  174. package/type/index.mjs +10 -6
  175. package/type/introspection.js +14 -9
  176. package/type/introspection.js.flow +12 -18
  177. package/type/introspection.mjs +14 -9
  178. package/type/scalars.js +5 -4
  179. package/type/scalars.js.flow +4 -10
  180. package/type/scalars.mjs +7 -6
  181. package/type/schema.js +55 -3
  182. package/type/schema.js.flow +73 -17
  183. package/type/schema.mjs +56 -4
  184. package/type/validate.js +19 -47
  185. package/type/validate.js.flow +17 -29
  186. package/type/validate.mjs +18 -47
  187. package/utilities/TypeInfo.js +93 -73
  188. package/utilities/TypeInfo.js.flow +30 -23
  189. package/utilities/TypeInfo.mjs +93 -73
  190. package/utilities/assertValidName.js +2 -2
  191. package/utilities/assertValidName.js.flow +2 -2
  192. package/utilities/assertValidName.mjs +2 -2
  193. package/utilities/astFromValue.js +5 -4
  194. package/utilities/astFromValue.js.flow +8 -7
  195. package/utilities/astFromValue.mjs +7 -6
  196. package/utilities/buildASTSchema.js +63 -62
  197. package/utilities/buildASTSchema.js.flow +92 -108
  198. package/utilities/buildASTSchema.mjs +61 -62
  199. package/utilities/buildClientSchema.js +38 -45
  200. package/utilities/buildClientSchema.js.flow +66 -79
  201. package/utilities/buildClientSchema.mjs +37 -44
  202. package/utilities/coerceValue.js +6 -7
  203. package/utilities/coerceValue.js.flow +5 -4
  204. package/utilities/coerceValue.mjs +7 -8
  205. package/utilities/concatAST.js +9 -13
  206. package/utilities/concatAST.js.flow +4 -10
  207. package/utilities/concatAST.mjs +6 -13
  208. package/utilities/extendSchema.js +219 -511
  209. package/utilities/extendSchema.js.flow +195 -304
  210. package/utilities/extendSchema.mjs +218 -512
  211. package/utilities/findBreakingChanges.js +54 -95
  212. package/utilities/findBreakingChanges.js.flow +49 -47
  213. package/utilities/findBreakingChanges.mjs +80 -95
  214. package/utilities/findDeprecatedUsages.js +4 -4
  215. package/utilities/findDeprecatedUsages.js.flow +5 -5
  216. package/utilities/findDeprecatedUsages.mjs +4 -4
  217. package/utilities/getOperationAST.js +2 -2
  218. package/utilities/getOperationAST.js.flow +5 -2
  219. package/utilities/getOperationAST.mjs +2 -2
  220. package/utilities/getOperationRootType.js +24 -24
  221. package/utilities/getOperationRootType.js.flow +40 -35
  222. package/utilities/getOperationRootType.mjs +24 -24
  223. package/utilities/index.js +9 -1
  224. package/utilities/index.js.flow +13 -6
  225. package/utilities/index.mjs +13 -8
  226. package/utilities/introspectionFromSchema.js +6 -4
  227. package/utilities/introspectionFromSchema.js.flow +8 -7
  228. package/utilities/introspectionFromSchema.mjs +6 -5
  229. package/utilities/introspectionQuery.js +2 -2
  230. package/utilities/introspectionQuery.js.flow +2 -2
  231. package/utilities/introspectionQuery.mjs +2 -2
  232. package/utilities/isValidJSValue.js +4 -2
  233. package/utilities/isValidJSValue.js.flow +3 -2
  234. package/utilities/isValidJSValue.mjs +4 -2
  235. package/utilities/isValidLiteralValue.js +2 -2
  236. package/utilities/isValidLiteralValue.js.flow +4 -4
  237. package/utilities/isValidLiteralValue.mjs +2 -2
  238. package/utilities/lexicographicSortSchema.js +84 -123
  239. package/utilities/lexicographicSortSchema.js.flow +68 -96
  240. package/utilities/lexicographicSortSchema.mjs +84 -123
  241. package/utilities/schemaPrinter.js +47 -73
  242. package/utilities/schemaPrinter.js.flow +69 -120
  243. package/utilities/schemaPrinter.mjs +45 -72
  244. package/utilities/separateOperations.js +8 -12
  245. package/utilities/separateOperations.js.flow +6 -3
  246. package/utilities/separateOperations.mjs +8 -12
  247. package/utilities/stripIgnoredCharacters.js +140 -0
  248. package/utilities/stripIgnoredCharacters.js.flow +129 -0
  249. package/utilities/stripIgnoredCharacters.mjs +127 -0
  250. package/utilities/typeComparators.js +2 -2
  251. package/utilities/typeComparators.js.flow +4 -3
  252. package/utilities/typeComparators.mjs +2 -2
  253. package/utilities/typeFromAST.js +9 -4
  254. package/utilities/typeFromAST.js.flow +15 -9
  255. package/utilities/typeFromAST.mjs +6 -4
  256. package/utilities/valueFromAST.js +7 -4
  257. package/utilities/valueFromAST.js.flow +7 -5
  258. package/utilities/valueFromAST.mjs +6 -4
  259. package/utilities/valueFromASTUntyped.js +11 -6
  260. package/utilities/valueFromASTUntyped.js.flow +9 -5
  261. package/utilities/valueFromASTUntyped.mjs +10 -6
  262. package/validation/ValidationContext.js +1 -1
  263. package/validation/ValidationContext.js.flow +19 -20
  264. package/validation/ValidationContext.mjs +2 -2
  265. package/validation/index.js +1 -1
  266. package/validation/index.js.flow +2 -1
  267. package/validation/index.mjs +3 -2
  268. package/validation/rules/ExecutableDefinitions.js +3 -3
  269. package/validation/rules/ExecutableDefinitions.js.flow +4 -4
  270. package/validation/rules/ExecutableDefinitions.mjs +3 -3
  271. package/validation/rules/FieldsOnCorrectType.js +3 -3
  272. package/validation/rules/FieldsOnCorrectType.js.flow +7 -7
  273. package/validation/rules/FieldsOnCorrectType.mjs +3 -3
  274. package/validation/rules/FragmentsOnCompositeTypes.js +4 -4
  275. package/validation/rules/FragmentsOnCompositeTypes.js.flow +5 -5
  276. package/validation/rules/FragmentsOnCompositeTypes.mjs +4 -4
  277. package/validation/rules/KnownArgumentNames.js +1 -1
  278. package/validation/rules/KnownArgumentNames.js.flow +5 -5
  279. package/validation/rules/KnownArgumentNames.mjs +2 -2
  280. package/validation/rules/KnownDirectives.js +8 -6
  281. package/validation/rules/KnownDirectives.js.flow +11 -9
  282. package/validation/rules/KnownDirectives.mjs +8 -6
  283. package/validation/rules/KnownFragmentNames.js +3 -3
  284. package/validation/rules/KnownFragmentNames.js.flow +4 -4
  285. package/validation/rules/KnownFragmentNames.mjs +3 -3
  286. package/validation/rules/KnownTypeNames.js +2 -2
  287. package/validation/rules/KnownTypeNames.js.flow +6 -6
  288. package/validation/rules/KnownTypeNames.mjs +2 -2
  289. package/validation/rules/LoneAnonymousOperation.js +3 -3
  290. package/validation/rules/LoneAnonymousOperation.js.flow +4 -4
  291. package/validation/rules/LoneAnonymousOperation.mjs +3 -3
  292. package/validation/rules/LoneSchemaDefinition.js +2 -2
  293. package/validation/rules/LoneSchemaDefinition.js.flow +3 -3
  294. package/validation/rules/LoneSchemaDefinition.mjs +2 -2
  295. package/validation/rules/NoFragmentCycles.js +2 -2
  296. package/validation/rules/NoFragmentCycles.js.flow +4 -4
  297. package/validation/rules/NoFragmentCycles.mjs +2 -2
  298. package/validation/rules/NoUndefinedVariables.js +2 -2
  299. package/validation/rules/NoUndefinedVariables.js.flow +3 -3
  300. package/validation/rules/NoUndefinedVariables.mjs +2 -2
  301. package/validation/rules/NoUnusedFragments.js +7 -7
  302. package/validation/rules/NoUnusedFragments.js.flow +4 -4
  303. package/validation/rules/NoUnusedFragments.mjs +7 -7
  304. package/validation/rules/NoUnusedVariables.js +5 -5
  305. package/validation/rules/NoUnusedVariables.js.flow +6 -5
  306. package/validation/rules/NoUnusedVariables.mjs +5 -5
  307. package/validation/rules/OverlappingFieldsCanBeMerged.js +26 -23
  308. package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +17 -17
  309. package/validation/rules/OverlappingFieldsCanBeMerged.mjs +26 -23
  310. package/validation/rules/PossibleFragmentSpreads.js +4 -4
  311. package/validation/rules/PossibleFragmentSpreads.js.flow +5 -5
  312. package/validation/rules/PossibleFragmentSpreads.mjs +4 -4
  313. package/validation/rules/PossibleTypeExtensions.js +3 -3
  314. package/validation/rules/PossibleTypeExtensions.js.flow +5 -5
  315. package/validation/rules/PossibleTypeExtensions.mjs +4 -4
  316. package/validation/rules/ProvidedRequiredArguments.js +6 -8
  317. package/validation/rules/ProvidedRequiredArguments.js.flow +8 -8
  318. package/validation/rules/ProvidedRequiredArguments.mjs +7 -9
  319. package/validation/rules/ScalarLeafs.js +4 -4
  320. package/validation/rules/ScalarLeafs.js.flow +6 -6
  321. package/validation/rules/ScalarLeafs.mjs +4 -4
  322. package/validation/rules/SingleFieldSubscriptions.js +2 -2
  323. package/validation/rules/SingleFieldSubscriptions.js.flow +4 -4
  324. package/validation/rules/SingleFieldSubscriptions.mjs +2 -2
  325. package/validation/rules/UniqueArgumentNames.js +2 -2
  326. package/validation/rules/UniqueArgumentNames.js.flow +3 -3
  327. package/validation/rules/UniqueArgumentNames.mjs +2 -2
  328. package/validation/rules/UniqueDirectiveNames.js +2 -2
  329. package/validation/rules/UniqueDirectiveNames.js.flow +3 -3
  330. package/validation/rules/UniqueDirectiveNames.mjs +2 -2
  331. package/validation/rules/UniqueDirectivesPerLocation.js +3 -2
  332. package/validation/rules/UniqueDirectivesPerLocation.js.flow +4 -4
  333. package/validation/rules/UniqueDirectivesPerLocation.mjs +3 -2
  334. package/validation/rules/UniqueEnumValueNames.js +4 -8
  335. package/validation/rules/UniqueEnumValueNames.js.flow +6 -8
  336. package/validation/rules/UniqueEnumValueNames.mjs +4 -8
  337. package/validation/rules/UniqueFieldDefinitionNames.js +4 -8
  338. package/validation/rules/UniqueFieldDefinitionNames.js.flow +6 -8
  339. package/validation/rules/UniqueFieldDefinitionNames.mjs +4 -8
  340. package/validation/rules/UniqueFragmentNames.js +2 -2
  341. package/validation/rules/UniqueFragmentNames.js.flow +3 -3
  342. package/validation/rules/UniqueFragmentNames.mjs +2 -2
  343. package/validation/rules/UniqueInputFieldNames.js +2 -4
  344. package/validation/rules/UniqueInputFieldNames.js.flow +3 -4
  345. package/validation/rules/UniqueInputFieldNames.mjs +2 -4
  346. package/validation/rules/UniqueOperationNames.js +2 -2
  347. package/validation/rules/UniqueOperationNames.js.flow +3 -3
  348. package/validation/rules/UniqueOperationNames.mjs +2 -2
  349. package/validation/rules/UniqueOperationTypes.js +2 -2
  350. package/validation/rules/UniqueOperationTypes.js.flow +3 -3
  351. package/validation/rules/UniqueOperationTypes.mjs +2 -2
  352. package/validation/rules/UniqueTypeNames.js +2 -2
  353. package/validation/rules/UniqueTypeNames.js.flow +4 -4
  354. package/validation/rules/UniqueTypeNames.mjs +2 -2
  355. package/validation/rules/UniqueVariableNames.js +2 -2
  356. package/validation/rules/UniqueVariableNames.js.flow +4 -4
  357. package/validation/rules/UniqueVariableNames.mjs +2 -2
  358. package/validation/rules/ValuesOfCorrectType.js +2 -2
  359. package/validation/rules/ValuesOfCorrectType.js.flow +5 -5
  360. package/validation/rules/ValuesOfCorrectType.mjs +2 -2
  361. package/validation/rules/VariablesAreInputTypes.js +3 -3
  362. package/validation/rules/VariablesAreInputTypes.js.flow +5 -5
  363. package/validation/rules/VariablesAreInputTypes.mjs +3 -3
  364. package/validation/rules/VariablesInAllowedPosition.js +3 -3
  365. package/validation/rules/VariablesInAllowedPosition.js.flow +7 -8
  366. package/validation/rules/VariablesInAllowedPosition.mjs +3 -3
  367. package/validation/specifiedRules.js +2 -2
  368. package/validation/specifiedRules.js.flow +13 -6
  369. package/validation/specifiedRules.mjs +7 -7
  370. package/validation/validate.js +2 -2
  371. package/validation/validate.js.flow +10 -6
  372. package/validation/validate.mjs +2 -2
  373. package/jsutils/MaybePromise.js +0 -1
  374. package/jsutils/MaybePromise.mjs +0 -0
  375. package/language/blockStringValue.js +0 -73
  376. package/language/blockStringValue.js.flow +0 -64
  377. package/language/blockStringValue.mjs +0 -66
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -8,12 +8,12 @@
8
8
  */
9
9
 
10
10
  import { GraphQLError } from '../error/GraphQLError';
11
- import type {
12
- OperationDefinitionNode,
13
- OperationTypeDefinitionNode,
11
+ import {
12
+ type OperationDefinitionNode,
13
+ type OperationTypeDefinitionNode,
14
14
  } from '../language/ast';
15
- import type { GraphQLSchema } from '../type/schema';
16
- import type { GraphQLObjectType } from '../type/definition';
15
+ import { type GraphQLSchema } from '../type/schema';
16
+ import { type GraphQLObjectType } from '../type/definition';
17
17
 
18
18
  /**
19
19
  * Extracts the root type of the operation from the schema.
@@ -22,36 +22,41 @@ export function getOperationRootType(
22
22
  schema: GraphQLSchema,
23
23
  operation: OperationDefinitionNode | OperationTypeDefinitionNode,
24
24
  ): GraphQLObjectType {
25
- switch (operation.operation) {
26
- case 'query':
27
- const queryType = schema.getQueryType();
28
- if (!queryType) {
29
- throw new GraphQLError(
30
- 'Schema does not define the required query root type.',
31
- [operation],
32
- );
33
- }
34
- return queryType;
35
- case 'mutation':
36
- const mutationType = schema.getMutationType();
37
- if (!mutationType) {
38
- throw new GraphQLError('Schema is not configured for mutations.', [
39
- operation,
40
- ]);
41
- }
42
- return mutationType;
43
- case 'subscription':
44
- const subscriptionType = schema.getSubscriptionType();
45
- if (!subscriptionType) {
46
- throw new GraphQLError('Schema is not configured for subscriptions.', [
47
- operation,
48
- ]);
49
- }
50
- return subscriptionType;
51
- default:
25
+ if (operation.operation === 'query') {
26
+ const queryType = schema.getQueryType();
27
+ if (!queryType) {
52
28
  throw new GraphQLError(
53
- 'Can only have query, mutation and subscription operations.',
54
- [operation],
29
+ 'Schema does not define the required query root type.',
30
+ operation,
55
31
  );
32
+ }
33
+ return queryType;
56
34
  }
35
+
36
+ if (operation.operation === 'mutation') {
37
+ const mutationType = schema.getMutationType();
38
+ if (!mutationType) {
39
+ throw new GraphQLError(
40
+ 'Schema is not configured for mutations.',
41
+ operation,
42
+ );
43
+ }
44
+ return mutationType;
45
+ }
46
+
47
+ if (operation.operation === 'subscription') {
48
+ const subscriptionType = schema.getSubscriptionType();
49
+ if (!subscriptionType) {
50
+ throw new GraphQLError(
51
+ 'Schema is not configured for subscriptions.',
52
+ operation,
53
+ );
54
+ }
55
+ return subscriptionType;
56
+ }
57
+
58
+ throw new GraphQLError(
59
+ 'Can only have query, mutation and subscription operations.',
60
+ operation,
61
+ );
57
62
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -12,35 +12,35 @@ import { GraphQLError } from '../error/GraphQLError';
12
12
  * Extracts the root type of the operation from the schema.
13
13
  */
14
14
  export function getOperationRootType(schema, operation) {
15
- switch (operation.operation) {
16
- case 'query':
17
- var queryType = schema.getQueryType();
15
+ if (operation.operation === 'query') {
16
+ var queryType = schema.getQueryType();
18
17
 
19
- if (!queryType) {
20
- throw new GraphQLError('Schema does not define the required query root type.', [operation]);
21
- }
18
+ if (!queryType) {
19
+ throw new GraphQLError('Schema does not define the required query root type.', operation);
20
+ }
22
21
 
23
- return queryType;
24
-
25
- case 'mutation':
26
- var mutationType = schema.getMutationType();
22
+ return queryType;
23
+ }
27
24
 
28
- if (!mutationType) {
29
- throw new GraphQLError('Schema is not configured for mutations.', [operation]);
30
- }
25
+ if (operation.operation === 'mutation') {
26
+ var mutationType = schema.getMutationType();
31
27
 
32
- return mutationType;
28
+ if (!mutationType) {
29
+ throw new GraphQLError('Schema is not configured for mutations.', operation);
30
+ }
33
31
 
34
- case 'subscription':
35
- var subscriptionType = schema.getSubscriptionType();
32
+ return mutationType;
33
+ }
36
34
 
37
- if (!subscriptionType) {
38
- throw new GraphQLError('Schema is not configured for subscriptions.', [operation]);
39
- }
35
+ if (operation.operation === 'subscription') {
36
+ var subscriptionType = schema.getSubscriptionType();
40
37
 
41
- return subscriptionType;
38
+ if (!subscriptionType) {
39
+ throw new GraphQLError('Schema is not configured for subscriptions.', operation);
40
+ }
42
41
 
43
- default:
44
- throw new GraphQLError('Can only have query, mutation and subscription operations.', [operation]);
42
+ return subscriptionType;
45
43
  }
46
- }
44
+
45
+ throw new GraphQLError('Can only have query, mutation and subscription operations.', operation);
46
+ }
@@ -147,6 +147,12 @@ Object.defineProperty(exports, "separateOperations", {
147
147
  return _separateOperations.separateOperations;
148
148
  }
149
149
  });
150
+ Object.defineProperty(exports, "stripIgnoredCharacters", {
151
+ enumerable: true,
152
+ get: function get() {
153
+ return _stripIgnoredCharacters.stripIgnoredCharacters;
154
+ }
155
+ });
150
156
  Object.defineProperty(exports, "isEqualType", {
151
157
  enumerable: true,
152
158
  get: function get() {
@@ -246,10 +252,12 @@ var _concatAST = require("./concatAST");
246
252
 
247
253
  var _separateOperations = require("./separateOperations");
248
254
 
255
+ var _stripIgnoredCharacters = require("./stripIgnoredCharacters");
256
+
249
257
  var _typeComparators = require("./typeComparators");
250
258
 
251
259
  var _assertValidName = require("./assertValidName");
252
260
 
253
261
  var _findBreakingChanges = require("./findBreakingChanges");
254
262
 
255
- var _findDeprecatedUsages = require("./findDeprecatedUsages");
263
+ var _findDeprecatedUsages = require("./findDeprecatedUsages");
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -9,10 +9,13 @@
9
9
 
10
10
  // The GraphQL query recommended for a full schema introspection.
11
11
  export {
12
+ // Produce the GraphQL query recommended for a full schema introspection.
13
+ // Accepts optional IntrospectionOptions.
12
14
  getIntrospectionQuery,
13
- // @deprecated, use getIntrospectionQuery() - will be removed in v15
15
+ // @deprecated, use getIntrospectionQuery() - will be removed in v15.
14
16
  introspectionQuery,
15
17
  } from './introspectionQuery';
18
+
16
19
  export type {
17
20
  IntrospectionOptions,
18
21
  IntrospectionQuery,
@@ -38,13 +41,13 @@ export type {
38
41
  IntrospectionDirective,
39
42
  } from './introspectionQuery';
40
43
 
41
- // Gets the target Operation from a Document
44
+ // Gets the target Operation from a Document.
42
45
  export { getOperationAST } from './getOperationAST';
43
46
 
44
47
  // Gets the Type for the target Operation AST.
45
48
  export { getOperationRootType } from './getOperationRootType';
46
49
 
47
- // Convert a GraphQLSchema to an IntrospectionQuery
50
+ // Convert a GraphQLSchema to an IntrospectionQuery.
48
51
  export { introspectionFromSchema } from './introspectionFromSchema';
49
52
 
50
53
  // Build a GraphQLSchema from an introspection result.
@@ -55,7 +58,7 @@ export {
55
58
  buildASTSchema,
56
59
  buildSchema,
57
60
  // @deprecated: Get the description from a schema AST node and supports legacy
58
- // syntax for specifying descriptions - will be removed in v16
61
+ // syntax for specifying descriptions - will be removed in v16.
59
62
  getDescription,
60
63
  } from './buildASTSchema';
61
64
  export type { BuildSchemaOptions } from './buildASTSchema';
@@ -92,7 +95,7 @@ export { TypeInfo } from './TypeInfo';
92
95
  // Coerces a JavaScript value to a GraphQL type, or produces errors.
93
96
  export { coerceValue } from './coerceValue';
94
97
 
95
- // @deprecated use coerceValue - will be removed in v15
98
+ // @deprecated use coerceValue - will be removed in v15.
96
99
  export { isValidJSValue } from './isValidJSValue';
97
100
 
98
101
  // @deprecated use validation - will be removed in v15
@@ -104,6 +107,10 @@ export { concatAST } from './concatAST';
104
107
  // Separates an AST into an AST per Operation.
105
108
  export { separateOperations } from './separateOperations';
106
109
 
110
+ // Strips characters that are not significant to the validity or execution
111
+ // of a GraphQL document.
112
+ export { stripIgnoredCharacters } from './stripIgnoredCharacters';
113
+
107
114
  // Comparators for types
108
115
  export {
109
116
  isEqualType,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,19 +7,21 @@
7
7
  *
8
8
  */
9
9
  // The GraphQL query recommended for a full schema introspection.
10
- export { getIntrospectionQuery, // @deprecated, use getIntrospectionQuery() - will be removed in v15
10
+ export { // Produce the GraphQL query recommended for a full schema introspection.
11
+ // Accepts optional IntrospectionOptions.
12
+ getIntrospectionQuery, // @deprecated, use getIntrospectionQuery() - will be removed in v15.
11
13
  introspectionQuery } from './introspectionQuery';
12
- // Gets the target Operation from a Document
14
+ // Gets the target Operation from a Document.
13
15
  export { getOperationAST } from './getOperationAST'; // Gets the Type for the target Operation AST.
14
16
 
15
- export { getOperationRootType } from './getOperationRootType'; // Convert a GraphQLSchema to an IntrospectionQuery
17
+ export { getOperationRootType } from './getOperationRootType'; // Convert a GraphQLSchema to an IntrospectionQuery.
16
18
 
17
19
  export { introspectionFromSchema } from './introspectionFromSchema'; // Build a GraphQLSchema from an introspection result.
18
20
 
19
21
  export { buildClientSchema } from './buildClientSchema'; // Build a GraphQLSchema from GraphQL Schema language.
20
22
 
21
23
  export { buildASTSchema, buildSchema, // @deprecated: Get the description from a schema AST node and supports legacy
22
- // syntax for specifying descriptions - will be removed in v16
24
+ // syntax for specifying descriptions - will be removed in v16.
23
25
  getDescription } from './buildASTSchema';
24
26
  // Extends an existing GraphQLSchema from a parsed GraphQL Schema language AST.
25
27
  export { extendSchema } from './extendSchema'; // Sort a GraphQLSchema.
@@ -39,7 +41,7 @@ export { astFromValue } from './astFromValue'; // A helper to use within recursi
39
41
 
40
42
  export { TypeInfo } from './TypeInfo'; // Coerces a JavaScript value to a GraphQL type, or produces errors.
41
43
 
42
- export { coerceValue } from './coerceValue'; // @deprecated use coerceValue - will be removed in v15
44
+ export { coerceValue } from './coerceValue'; // @deprecated use coerceValue - will be removed in v15.
43
45
 
44
46
  export { isValidJSValue } from './isValidJSValue'; // @deprecated use validation - will be removed in v15
45
47
 
@@ -47,7 +49,10 @@ export { isValidLiteralValue } from './isValidLiteralValue'; // Concatenates mul
47
49
 
48
50
  export { concatAST } from './concatAST'; // Separates an AST into an AST per Operation.
49
51
 
50
- export { separateOperations } from './separateOperations'; // Comparators for types
52
+ export { separateOperations } from './separateOperations'; // Strips characters that are not significant to the validity or execution
53
+ // of a GraphQL document.
54
+
55
+ export { stripIgnoredCharacters } from './stripIgnoredCharacters'; // Comparators for types
51
56
 
52
57
  export { isEqualType, isTypeSubTypeOf, doTypesOverlap } from './typeComparators'; // Asserts that a string is a valid GraphQL name
53
58
 
@@ -55,4 +60,4 @@ export { assertValidName, isValidNameError } from './assertValidName'; // Compar
55
60
 
56
61
  export { BreakingChangeType, DangerousChangeType, findBreakingChanges, findDangerousChanges } from './findBreakingChanges';
57
62
  // Report all deprecated usage within a GraphQL document.
58
- export { findDeprecatedUsages } from './findDeprecatedUsages';
63
+ export { findDeprecatedUsages } from './findDeprecatedUsages';
@@ -7,16 +7,18 @@ exports.introspectionFromSchema = introspectionFromSchema;
7
7
 
8
8
  var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
9
9
 
10
- var _introspectionQuery = require("./introspectionQuery");
10
+ var _isPromise = _interopRequireDefault(require("../jsutils/isPromise"));
11
11
 
12
12
  var _execute = require("../execution/execute");
13
13
 
14
14
  var _parser = require("../language/parser");
15
15
 
16
+ var _introspectionQuery = require("./introspectionQuery");
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
20
  /**
19
- * Copyright (c) 2015-present, Facebook, Inc.
21
+ * Copyright (c) Facebook, Inc. and its affiliates.
20
22
  *
21
23
  * This source code is licensed under the MIT license found in the
22
24
  * LICENSE file in the root directory of this source tree.
@@ -36,6 +38,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
36
38
  function introspectionFromSchema(schema, options) {
37
39
  var queryAST = (0, _parser.parse)((0, _introspectionQuery.getIntrospectionQuery)(options));
38
40
  var result = (0, _execute.execute)(schema, queryAST);
39
- !(!result.then && !result.errors && result.data) ? (0, _invariant.default)(0) : void 0;
41
+ !(!(0, _isPromise.default)(result) && !result.errors && result.data) ? (0, _invariant.default)(0) : void 0;
40
42
  return result.data;
41
- }
43
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -8,13 +8,14 @@
8
8
  */
9
9
 
10
10
  import invariant from '../jsutils/invariant';
11
- import { getIntrospectionQuery } from './introspectionQuery';
12
- import type { GraphQLSchema } from '../type/schema';
11
+ import isPromise from '../jsutils/isPromise';
12
+ import { type GraphQLSchema } from '../type/schema';
13
13
  import { execute } from '../execution/execute';
14
14
  import { parse } from '../language/parser';
15
- import type {
16
- IntrospectionQuery,
17
- IntrospectionOptions,
15
+ import {
16
+ type IntrospectionQuery,
17
+ type IntrospectionOptions,
18
+ getIntrospectionQuery,
18
19
  } from './introspectionQuery';
19
20
 
20
21
  /**
@@ -32,6 +33,6 @@ export function introspectionFromSchema(
32
33
  ): IntrospectionQuery {
33
34
  const queryAST = parse(getIntrospectionQuery(options));
34
35
  const result = execute(schema, queryAST);
35
- invariant(!result.then && !result.errors && result.data);
36
+ invariant(!isPromise(result) && !result.errors && result.data);
36
37
  return (result.data: any);
37
38
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,10 +7,10 @@
7
7
  *
8
8
  */
9
9
  import invariant from '../jsutils/invariant';
10
- import { getIntrospectionQuery } from './introspectionQuery';
10
+ import isPromise from '../jsutils/isPromise';
11
11
  import { execute } from '../execution/execute';
12
12
  import { parse } from '../language/parser';
13
-
13
+ import { getIntrospectionQuery } from './introspectionQuery';
14
14
  /**
15
15
  * Build an IntrospectionQuery from a GraphQLSchema
16
16
  *
@@ -20,9 +20,10 @@ import { parse } from '../language/parser';
20
20
  * This is the inverse of buildClientSchema. The primary use case is outside
21
21
  * of the server context, for instance when doing schema comparisons.
22
22
  */
23
+
23
24
  export function introspectionFromSchema(schema, options) {
24
25
  var queryAST = parse(getIntrospectionQuery(options));
25
26
  var result = execute(schema, queryAST);
26
- !(!result.then && !result.errors && result.data) ? invariant(0) : void 0;
27
+ !(!isPromise(result) && !result.errors && result.data) ? invariant(0) : void 0;
27
28
  return result.data;
28
- }
29
+ }
@@ -7,7 +7,7 @@ exports.getIntrospectionQuery = getIntrospectionQuery;
7
7
  exports.introspectionQuery = void 0;
8
8
 
9
9
  /**
10
- * Copyright (c) 2015-present, Facebook, Inc.
10
+ * Copyright (c) Facebook, Inc. and its affiliates.
11
11
  *
12
12
  * This source code is licensed under the MIT license found in the
13
13
  * LICENSE file in the root directory of this source tree.
@@ -26,4 +26,4 @@ function getIntrospectionQuery(options) {
26
26
 
27
27
 
28
28
  var introspectionQuery = getIntrospectionQuery();
29
- exports.introspectionQuery = introspectionQuery;
29
+ exports.introspectionQuery = introspectionQuery;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,7 +7,7 @@
7
7
  * @flow strict
8
8
  */
9
9
 
10
- import type { DirectiveLocationEnum } from '../language/directiveLocation';
10
+ import { type DirectiveLocationEnum } from '../language/directiveLocation';
11
11
 
12
12
  export type IntrospectionOptions = {|
13
13
  // Whether to include descriptions in the introspection result.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -16,4 +16,4 @@ export function getIntrospectionQuery(options) {
16
16
  * This function will be removed in v15
17
17
  */
18
18
 
19
- export var introspectionQuery = getIntrospectionQuery();
19
+ export var introspectionQuery = getIntrospectionQuery();
@@ -8,7 +8,7 @@ exports.isValidJSValue = isValidJSValue;
8
8
  var _coerceValue = require("./coerceValue");
9
9
 
10
10
  /**
11
- * Copyright (c) 2015-present, Facebook, Inc.
11
+ * Copyright (c) Facebook, Inc. and its affiliates.
12
12
  *
13
13
  * This source code is licensed under the MIT license found in the
14
14
  * LICENSE file in the root directory of this source tree.
@@ -16,6 +16,8 @@ var _coerceValue = require("./coerceValue");
16
16
  *
17
17
  */
18
18
 
19
+ /* istanbul ignore file */
20
+
19
21
  /**
20
22
  * Deprecated. Use coerceValue() directly for richer information.
21
23
  *
@@ -26,4 +28,4 @@ function isValidJSValue(value, type) {
26
28
  return errors ? errors.map(function (error) {
27
29
  return error.message;
28
30
  }) : [];
29
- }
31
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,8 +7,9 @@
7
7
  * @flow strict
8
8
  */
9
9
 
10
+ /* istanbul ignore file */
10
11
  import { coerceValue } from './coerceValue';
11
- import type { GraphQLInputType } from '../type/definition';
12
+ import { type GraphQLInputType } from '../type/definition';
12
13
 
13
14
  /**
14
15
  * Deprecated. Use coerceValue() directly for richer information.
@@ -1,11 +1,13 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  *
8
8
  */
9
+
10
+ /* istanbul ignore file */
9
11
  import { coerceValue } from './coerceValue';
10
12
 
11
13
  /**
@@ -18,4 +20,4 @@ export function isValidJSValue(value, type) {
18
20
  return errors ? errors.map(function (error) {
19
21
  return error.message;
20
22
  }) : [];
21
- }
23
+ }
@@ -18,7 +18,7 @@ var _ValuesOfCorrectType = require("../validation/rules/ValuesOfCorrectType");
18
18
  var _ValidationContext = require("../validation/ValidationContext");
19
19
 
20
20
  /**
21
- * Copyright (c) 2015-present, Facebook, Inc.
21
+ * Copyright (c) Facebook, Inc. and its affiliates.
22
22
  *
23
23
  * This source code is licensed under the MIT license found in the
24
24
  * LICENSE file in the root directory of this source tree.
@@ -44,4 +44,4 @@ function isValidLiteralValue(type, valueNode) {
44
44
  var visitor = (0, _ValuesOfCorrectType.ValuesOfCorrectType)(context);
45
45
  (0, _visitor.visit)(valueNode, (0, _visitor.visitWithTypeInfo)(typeInfo, visitor));
46
46
  return context.getErrors();
47
- }
47
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -8,11 +8,11 @@
8
8
  */
9
9
 
10
10
  import { TypeInfo } from './TypeInfo';
11
- import type { GraphQLError } from '../error/GraphQLError';
12
- import type { ValueNode } from '../language/ast';
11
+ import { type GraphQLError } from '../error/GraphQLError';
12
+ import { type ValueNode } from '../language/ast';
13
13
  import { Kind } from '../language/kinds';
14
14
  import { visit, visitWithTypeInfo } from '../language/visitor';
15
- import type { GraphQLInputType } from '../type/definition';
15
+ import { type GraphQLInputType } from '../type/definition';
16
16
  import { GraphQLSchema } from '../type/schema';
17
17
  import { ValuesOfCorrectType } from '../validation/rules/ValuesOfCorrectType';
18
18
  import { ValidationContext } from '../validation/ValidationContext';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -31,4 +31,4 @@ export function isValidLiteralValue(type, valueNode) {
31
31
  var visitor = ValuesOfCorrectType(context);
32
32
  visit(valueNode, visitWithTypeInfo(typeInfo, visitor));
33
33
  return context.getErrors();
34
- }
34
+ }