graphql 16.14.0 → 16.14.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 (371) hide show
  1. package/error/GraphQLError.d.ts +151 -15
  2. package/error/GraphQLError.js +143 -12
  3. package/error/GraphQLError.mjs +143 -12
  4. package/error/index.d.ts +6 -0
  5. package/error/index.mjs +6 -0
  6. package/error/locatedError.d.ts +20 -0
  7. package/error/locatedError.js +21 -0
  8. package/error/locatedError.mjs +20 -0
  9. package/error/syntaxError.d.ts +15 -0
  10. package/error/syntaxError.js +16 -0
  11. package/error/syntaxError.mjs +15 -0
  12. package/execution/collectFields.js +6 -0
  13. package/execution/collectFields.mjs +6 -0
  14. package/execution/execute.d.ts +211 -12
  15. package/execution/execute.js +214 -23
  16. package/execution/execute.mjs +213 -23
  17. package/execution/index.d.ts +6 -0
  18. package/execution/index.mjs +6 -0
  19. package/execution/mapAsyncIterator.d.ts +2 -0
  20. package/execution/mapAsyncIterator.js +2 -0
  21. package/execution/mapAsyncIterator.mjs +2 -0
  22. package/execution/subscribe.d.ts +195 -5
  23. package/execution/subscribe.js +154 -11
  24. package/execution/subscribe.mjs +153 -11
  25. package/execution/values.d.ts +167 -10
  26. package/execution/values.js +149 -5
  27. package/execution/values.mjs +148 -5
  28. package/graphql.d.ts +163 -41
  29. package/graphql.js +126 -4
  30. package/graphql.mjs +131 -41
  31. package/index.d.ts +11 -17
  32. package/index.mjs +13 -19
  33. package/jsutils/Maybe.d.ts +5 -1
  34. package/jsutils/ObjMap.d.ts +4 -0
  35. package/jsutils/Path.d.ts +30 -0
  36. package/jsutils/Path.js +29 -0
  37. package/jsutils/Path.mjs +29 -0
  38. package/jsutils/PromiseOrValue.d.ts +1 -0
  39. package/jsutils/devAssert.d.ts +1 -0
  40. package/jsutils/devAssert.js +1 -0
  41. package/jsutils/devAssert.mjs +1 -0
  42. package/jsutils/didYouMean.d.ts +4 -1
  43. package/jsutils/didYouMean.js +4 -1
  44. package/jsutils/didYouMean.mjs +4 -1
  45. package/jsutils/groupBy.d.ts +2 -0
  46. package/jsutils/groupBy.js +2 -0
  47. package/jsutils/groupBy.mjs +2 -0
  48. package/jsutils/identityFunc.d.ts +2 -0
  49. package/jsutils/identityFunc.js +2 -0
  50. package/jsutils/identityFunc.mjs +2 -0
  51. package/jsutils/inspect.d.ts +2 -0
  52. package/jsutils/inspect.js +2 -0
  53. package/jsutils/inspect.mjs +2 -0
  54. package/jsutils/instanceOf.d.ts +2 -0
  55. package/jsutils/instanceOf.js +2 -0
  56. package/jsutils/instanceOf.mjs +2 -0
  57. package/jsutils/invariant.d.ts +1 -0
  58. package/jsutils/invariant.js +1 -0
  59. package/jsutils/invariant.mjs +1 -0
  60. package/jsutils/isAsyncIterable.d.ts +2 -0
  61. package/jsutils/isAsyncIterable.js +2 -0
  62. package/jsutils/isAsyncIterable.mjs +2 -0
  63. package/jsutils/isIterableObject.d.ts +6 -5
  64. package/jsutils/isIterableObject.js +6 -5
  65. package/jsutils/isIterableObject.mjs +6 -5
  66. package/jsutils/isObjectLike.d.ts +2 -0
  67. package/jsutils/isObjectLike.js +2 -0
  68. package/jsutils/isObjectLike.mjs +2 -0
  69. package/jsutils/isPromise.d.ts +2 -0
  70. package/jsutils/isPromise.js +2 -0
  71. package/jsutils/isPromise.mjs +2 -0
  72. package/jsutils/keyMap.d.ts +7 -14
  73. package/jsutils/keyMap.js +7 -14
  74. package/jsutils/keyMap.mjs +7 -14
  75. package/jsutils/keyValMap.d.ts +9 -6
  76. package/jsutils/keyValMap.js +9 -6
  77. package/jsutils/keyValMap.mjs +9 -6
  78. package/jsutils/mapValue.d.ts +2 -0
  79. package/jsutils/mapValue.js +2 -0
  80. package/jsutils/mapValue.mjs +2 -0
  81. package/jsutils/memoize3.d.ts +2 -0
  82. package/jsutils/memoize3.js +2 -0
  83. package/jsutils/memoize3.mjs +2 -0
  84. package/jsutils/naturalCompare.d.ts +2 -0
  85. package/jsutils/naturalCompare.js +2 -0
  86. package/jsutils/naturalCompare.mjs +2 -0
  87. package/jsutils/printPathArray.d.ts +2 -0
  88. package/jsutils/printPathArray.js +2 -0
  89. package/jsutils/printPathArray.mjs +2 -0
  90. package/jsutils/promiseForObject.d.ts +2 -0
  91. package/jsutils/promiseForObject.js +2 -0
  92. package/jsutils/promiseForObject.mjs +2 -0
  93. package/jsutils/promiseReduce.d.ts +2 -0
  94. package/jsutils/promiseReduce.js +2 -0
  95. package/jsutils/promiseReduce.mjs +2 -0
  96. package/jsutils/suggestionList.d.ts +2 -0
  97. package/jsutils/suggestionList.js +4 -0
  98. package/jsutils/suggestionList.mjs +4 -0
  99. package/jsutils/toError.d.ts +2 -0
  100. package/jsutils/toError.js +2 -0
  101. package/jsutils/toError.mjs +2 -0
  102. package/jsutils/toObjMap.d.ts +1 -0
  103. package/jsutils/toObjMap.js +1 -0
  104. package/jsutils/toObjMap.mjs +1 -0
  105. package/language/ast.d.ts +412 -54
  106. package/language/ast.js +95 -38
  107. package/language/ast.mjs +95 -38
  108. package/language/blockString.d.ts +1 -3
  109. package/language/blockString.js +1 -3
  110. package/language/blockString.mjs +1 -3
  111. package/language/directiveLocation.d.ts +28 -8
  112. package/language/directiveLocation.js +9 -6
  113. package/language/directiveLocation.mjs +9 -6
  114. package/language/index.d.ts +6 -0
  115. package/language/index.mjs +6 -0
  116. package/language/kinds.d.ts +57 -18
  117. package/language/kinds.js +9 -6
  118. package/language/kinds.mjs +9 -6
  119. package/language/lexer.d.ts +47 -14
  120. package/language/lexer.js +71 -13
  121. package/language/lexer.mjs +70 -13
  122. package/language/location.d.ts +16 -3
  123. package/language/location.js +14 -3
  124. package/language/location.mjs +14 -3
  125. package/language/parser.d.ts +236 -13
  126. package/language/parser.js +224 -0
  127. package/language/parser.mjs +224 -3
  128. package/language/predicates.d.ts +169 -0
  129. package/language/predicates.js +170 -0
  130. package/language/predicates.mjs +180 -0
  131. package/language/printLocation.d.ts +28 -0
  132. package/language/printLocation.js +29 -0
  133. package/language/printLocation.mjs +28 -0
  134. package/language/printString.d.ts +2 -0
  135. package/language/printString.js +5 -1
  136. package/language/printString.mjs +5 -1
  137. package/language/printer.d.ts +12 -0
  138. package/language/printer.js +19 -0
  139. package/language/printer.mjs +18 -0
  140. package/language/schemaCoordinateLexer.d.ts +8 -6
  141. package/language/schemaCoordinateLexer.js +10 -6
  142. package/language/schemaCoordinateLexer.mjs +10 -6
  143. package/language/source.d.ts +28 -0
  144. package/language/source.js +32 -0
  145. package/language/source.mjs +31 -0
  146. package/language/tokenKind.d.ts +30 -3
  147. package/language/tokenKind.js +8 -3
  148. package/language/tokenKind.mjs +8 -3
  149. package/language/visitor.d.ts +200 -72
  150. package/language/visitor.js +122 -50
  151. package/language/visitor.mjs +122 -54
  152. package/package.json +1 -1
  153. package/subscription/index.d.ts +9 -3
  154. package/subscription/index.mjs +9 -3
  155. package/type/assertName.d.ts +18 -1
  156. package/type/assertName.js +19 -1
  157. package/type/assertName.mjs +18 -1
  158. package/type/definition.d.ts +2540 -79
  159. package/type/definition.js +2214 -61
  160. package/type/definition.mjs +2241 -60
  161. package/type/directives.d.ts +193 -18
  162. package/type/directives.js +196 -19
  163. package/type/directives.mjs +196 -19
  164. package/type/index.d.ts +6 -0
  165. package/type/index.mjs +6 -0
  166. package/type/introspection.d.ts +36 -0
  167. package/type/introspection.js +33 -0
  168. package/type/introspection.mjs +41 -0
  169. package/type/scalars.d.ts +29 -2
  170. package/type/scalars.js +37 -2
  171. package/type/scalars.mjs +36 -2
  172. package/type/schema.d.ts +490 -28
  173. package/type/schema.js +484 -26
  174. package/type/schema.mjs +484 -26
  175. package/type/validate.d.ts +31 -0
  176. package/type/validate.js +32 -0
  177. package/type/validate.mjs +31 -0
  178. package/utilities/TypeInfo.d.ts +441 -1
  179. package/utilities/TypeInfo.js +444 -1
  180. package/utilities/TypeInfo.mjs +443 -1
  181. package/utilities/assertValidName.d.ts +27 -2
  182. package/utilities/assertValidName.js +28 -2
  183. package/utilities/assertValidName.mjs +27 -2
  184. package/utilities/astFromValue.d.ts +33 -3
  185. package/utilities/astFromValue.js +36 -3
  186. package/utilities/astFromValue.mjs +35 -3
  187. package/utilities/buildASTSchema.d.ts +65 -6
  188. package/utilities/buildASTSchema.js +65 -6
  189. package/utilities/buildASTSchema.mjs +65 -6
  190. package/utilities/buildClientSchema.d.ts +15 -0
  191. package/utilities/buildClientSchema.js +16 -0
  192. package/utilities/buildClientSchema.mjs +15 -0
  193. package/utilities/coerceInputValue.d.ts +46 -0
  194. package/utilities/coerceInputValue.js +47 -0
  195. package/utilities/coerceInputValue.mjs +46 -0
  196. package/utilities/concatAST.d.ts +12 -0
  197. package/utilities/concatAST.js +13 -0
  198. package/utilities/concatAST.mjs +12 -0
  199. package/utilities/extendSchema.d.ts +56 -3
  200. package/utilities/extendSchema.js +63 -3
  201. package/utilities/extendSchema.mjs +62 -3
  202. package/utilities/findBreakingChanges.d.ts +95 -0
  203. package/utilities/findBreakingChanges.js +68 -0
  204. package/utilities/findBreakingChanges.mjs +70 -0
  205. package/utilities/getIntrospectionQuery.d.ts +132 -0
  206. package/utilities/getIntrospectionQuery.js +41 -0
  207. package/utilities/getIntrospectionQuery.mjs +41 -0
  208. package/utilities/getOperationAST.d.ts +15 -0
  209. package/utilities/getOperationAST.js +16 -0
  210. package/utilities/getOperationAST.mjs +15 -0
  211. package/utilities/getOperationRootType.d.ts +18 -1
  212. package/utilities/getOperationRootType.js +19 -1
  213. package/utilities/getOperationRootType.mjs +18 -1
  214. package/utilities/index.d.ts +7 -0
  215. package/utilities/index.mjs +7 -0
  216. package/utilities/introspectionFromSchema.d.ts +54 -0
  217. package/utilities/introspectionFromSchema.js +55 -0
  218. package/utilities/introspectionFromSchema.mjs +54 -0
  219. package/utilities/lexicographicSortSchema.d.ts +35 -0
  220. package/utilities/lexicographicSortSchema.js +36 -0
  221. package/utilities/lexicographicSortSchema.mjs +35 -0
  222. package/utilities/printSchema.d.ts +63 -0
  223. package/utilities/printSchema.js +66 -0
  224. package/utilities/printSchema.mjs +67 -0
  225. package/utilities/resolveSchemaCoordinate.d.ts +62 -0
  226. package/utilities/resolveSchemaCoordinate.js +64 -0
  227. package/utilities/resolveSchemaCoordinate.mjs +63 -0
  228. package/utilities/separateOperations.d.ts +30 -0
  229. package/utilities/separateOperations.js +31 -0
  230. package/utilities/separateOperations.mjs +30 -0
  231. package/utilities/stripIgnoredCharacters.d.ts +13 -6
  232. package/utilities/stripIgnoredCharacters.js +16 -6
  233. package/utilities/stripIgnoredCharacters.mjs +15 -6
  234. package/utilities/typeComparators.d.ts +84 -0
  235. package/utilities/typeComparators.js +85 -0
  236. package/utilities/typeComparators.mjs +84 -0
  237. package/utilities/typeFromAST.d.ts +86 -0
  238. package/utilities/typeFromAST.js +3 -0
  239. package/utilities/typeFromAST.mjs +3 -0
  240. package/utilities/typedQueryDocumentNode.d.ts +4 -0
  241. package/utilities/valueFromAST.d.ts +38 -0
  242. package/utilities/valueFromAST.js +39 -0
  243. package/utilities/valueFromAST.mjs +38 -0
  244. package/utilities/valueFromASTUntyped.d.ts +15 -2
  245. package/utilities/valueFromASTUntyped.js +16 -2
  246. package/utilities/valueFromASTUntyped.mjs +15 -2
  247. package/validation/ValidationContext.d.ts +399 -0
  248. package/validation/ValidationContext.js +400 -0
  249. package/validation/ValidationContext.mjs +401 -0
  250. package/validation/index.d.ts +6 -0
  251. package/validation/index.mjs +6 -0
  252. package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
  253. package/validation/rules/ExecutableDefinitionsRule.js +29 -0
  254. package/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
  255. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
  256. package/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
  257. package/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
  258. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
  259. package/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
  260. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
  261. package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
  262. package/validation/rules/KnownArgumentNamesRule.js +30 -3
  263. package/validation/rules/KnownArgumentNamesRule.mjs +29 -3
  264. package/validation/rules/KnownDirectivesRule.d.ts +28 -0
  265. package/validation/rules/KnownDirectivesRule.js +29 -0
  266. package/validation/rules/KnownDirectivesRule.mjs +28 -0
  267. package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
  268. package/validation/rules/KnownFragmentNamesRule.js +29 -0
  269. package/validation/rules/KnownFragmentNamesRule.mjs +28 -0
  270. package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
  271. package/validation/rules/KnownTypeNamesRule.js +29 -0
  272. package/validation/rules/KnownTypeNamesRule.mjs +28 -0
  273. package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
  274. package/validation/rules/LoneAnonymousOperationRule.js +29 -0
  275. package/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
  276. package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
  277. package/validation/rules/LoneSchemaDefinitionRule.js +22 -0
  278. package/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
  279. package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
  280. package/validation/rules/MaxIntrospectionDepthRule.js +33 -0
  281. package/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
  282. package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
  283. package/validation/rules/NoFragmentCyclesRule.js +29 -0
  284. package/validation/rules/NoFragmentCyclesRule.mjs +28 -0
  285. package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
  286. package/validation/rules/NoUndefinedVariablesRule.js +29 -0
  287. package/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
  288. package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
  289. package/validation/rules/NoUnusedFragmentsRule.js +29 -0
  290. package/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
  291. package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
  292. package/validation/rules/NoUnusedVariablesRule.js +30 -0
  293. package/validation/rules/NoUnusedVariablesRule.mjs +29 -0
  294. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
  295. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
  296. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
  297. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
  298. package/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
  299. package/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
  300. package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
  301. package/validation/rules/PossibleTypeExtensionsRule.js +22 -0
  302. package/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
  303. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
  304. package/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
  305. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
  306. package/validation/rules/ScalarLeafsRule.d.ts +28 -0
  307. package/validation/rules/ScalarLeafsRule.js +29 -0
  308. package/validation/rules/ScalarLeafsRule.mjs +28 -0
  309. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
  310. package/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
  311. package/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
  312. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
  313. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
  314. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
  315. package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
  316. package/validation/rules/UniqueArgumentNamesRule.js +29 -0
  317. package/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
  318. package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
  319. package/validation/rules/UniqueDirectiveNamesRule.js +22 -0
  320. package/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
  321. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
  322. package/validation/rules/UniqueDirectivesPerLocationRule.js +29 -0
  323. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +28 -0
  324. package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
  325. package/validation/rules/UniqueEnumValueNamesRule.js +22 -0
  326. package/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
  327. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
  328. package/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
  329. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
  330. package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
  331. package/validation/rules/UniqueFragmentNamesRule.js +29 -0
  332. package/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
  333. package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
  334. package/validation/rules/UniqueInputFieldNamesRule.js +33 -0
  335. package/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
  336. package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
  337. package/validation/rules/UniqueOperationNamesRule.js +29 -0
  338. package/validation/rules/UniqueOperationNamesRule.mjs +28 -0
  339. package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
  340. package/validation/rules/UniqueOperationTypesRule.js +22 -0
  341. package/validation/rules/UniqueOperationTypesRule.mjs +21 -0
  342. package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
  343. package/validation/rules/UniqueTypeNamesRule.js +22 -0
  344. package/validation/rules/UniqueTypeNamesRule.mjs +21 -0
  345. package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
  346. package/validation/rules/UniqueVariableNamesRule.js +29 -0
  347. package/validation/rules/UniqueVariableNamesRule.mjs +28 -0
  348. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
  349. package/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
  350. package/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
  351. package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
  352. package/validation/rules/VariablesAreInputTypesRule.js +33 -0
  353. package/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
  354. package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
  355. package/validation/rules/VariablesInAllowedPositionRule.js +35 -1
  356. package/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
  357. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
  358. package/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
  359. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
  360. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
  361. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
  362. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
  363. package/validation/specifiedRules.d.ts +2 -3
  364. package/validation/specifiedRules.js +2 -3
  365. package/validation/specifiedRules.mjs +2 -3
  366. package/validation/validate.d.ts +70 -9
  367. package/validation/validate.js +63 -7
  368. package/validation/validate.mjs +63 -7
  369. package/version.d.ts +3 -6
  370. package/version.js +6 -8
  371. package/version.mjs +5 -8
@@ -27,14 +27,82 @@ var _typeFromAST = require('../utilities/typeFromAST.js');
27
27
 
28
28
  var _valueFromAST = require('../utilities/valueFromAST.js');
29
29
 
30
+ /** @category Values */
31
+
30
32
  /**
31
33
  * Prepares an object map of variableValues of the correct type based on the
32
34
  * provided variable definitions and arbitrary input. If the input cannot be
33
- * parsed to match the variable definitions, a GraphQLError will be thrown.
35
+ * parsed to match the variable definitions, GraphQLError values are returned.
34
36
  *
35
- * Note: The returned value is a plain Object with a prototype, since it is
37
+ * Note: Returned value is a plain Object with a prototype, since it is
36
38
  * exposed to user code. Care should be taken to not pull values from the
37
39
  * Object prototype.
40
+ * @param schema - GraphQL schema to use.
41
+ * @param varDefNodes - The variable definition AST nodes to coerce.
42
+ * @param inputs - The runtime variable values keyed by variable name.
43
+ * @param options - Optional variable coercion options, including error limits.
44
+ * @returns Coerced variable values, or request errors.
45
+ * @example
46
+ * ```ts
47
+ * // Coerce provided variables and apply operation defaults.
48
+ * import { parse } from 'graphql/language';
49
+ * import { buildSchema } from 'graphql/utilities';
50
+ * import { getVariableValues } from 'graphql/execution';
51
+ *
52
+ * const schema = buildSchema(`
53
+ * type Query {
54
+ * reviews(stars: Int!, limit: Int = 10): [String]
55
+ * }
56
+ * `);
57
+ * const document = parse(`
58
+ * query ($stars: Int!, $limit: Int = 10) {
59
+ * reviews(stars: $stars, limit: $limit)
60
+ * }
61
+ * `);
62
+ * const operation = document.definitions[0];
63
+ *
64
+ * const result = getVariableValues(
65
+ * schema,
66
+ * operation.variableDefinitions,
67
+ * { stars: '5' },
68
+ * );
69
+ *
70
+ * result; // => { coerced: { stars: 5, limit: 10 } }
71
+ * ```
72
+ * @example
73
+ * ```ts
74
+ * // This variant uses maxErrors to cap reported coercion errors.
75
+ * import { parse } from 'graphql/language';
76
+ * import { buildSchema } from 'graphql/utilities';
77
+ * import { getVariableValues } from 'graphql/execution';
78
+ *
79
+ * const schema = buildSchema(`
80
+ * input ReviewInput {
81
+ * stars: Int!
82
+ * }
83
+ *
84
+ * type Query {
85
+ * review(input: ReviewInput!): String
86
+ * }
87
+ * `);
88
+ * const document = parse(`
89
+ * query ($first: ReviewInput!, $second: ReviewInput!) {
90
+ * first: review(input: $first)
91
+ * second: review(input: $second)
92
+ * }
93
+ * `);
94
+ * const operation = document.definitions[0];
95
+ *
96
+ * const result = getVariableValues(
97
+ * schema,
98
+ * operation.variableDefinitions,
99
+ * { first: { stars: 'bad' }, second: { stars: 'also bad' } },
100
+ * { maxErrors: 1 },
101
+ * );
102
+ *
103
+ * result.errors.length; // => 2
104
+ * result.errors[1].message; // matches /error limit reached/
105
+ * ```
38
106
  */
39
107
  function getVariableValues(schema, varDefNodes, inputs, options) {
40
108
  const errors = [];
@@ -159,9 +227,50 @@ function coerceVariableValues(schema, varDefNodes, inputs, onError) {
159
227
  * Prepares an object map of argument values given a list of argument
160
228
  * definitions and list of argument AST nodes.
161
229
  *
162
- * Note: The returned value is a plain Object with a prototype, since it is
230
+ * Note: Returned value is a plain Object with a prototype, since it is
163
231
  * exposed to user code. Care should be taken to not pull values from the
164
232
  * Object prototype.
233
+ * @param def - The field or directive definition whose arguments should be coerced.
234
+ * @param node - The AST node to inspect.
235
+ * @param variableValues - The runtime variable values keyed by variable name.
236
+ * @returns Coerced argument values keyed by argument name.
237
+ * @example
238
+ * ```ts
239
+ * // Read literal argument values and defaults.
240
+ * import { parse } from 'graphql/language';
241
+ * import { buildSchema } from 'graphql/utilities';
242
+ * import { getArgumentValues } from 'graphql/execution';
243
+ *
244
+ * const schema = buildSchema(`
245
+ * type Query {
246
+ * reviews(stars: Int!, limit: Int = 10): [String]
247
+ * }
248
+ * `);
249
+ * const fieldDef = schema.getQueryType().getFields().reviews;
250
+ * const document = parse('{ reviews(stars: 5) }');
251
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
252
+ *
253
+ * getArgumentValues(fieldDef, fieldNode); // => { stars: 5, limit: 10 }
254
+ * ```
255
+ * @example
256
+ * ```ts
257
+ * // This variant resolves argument values from operation variables.
258
+ * import { parse } from 'graphql/language';
259
+ * import { buildSchema } from 'graphql/utilities';
260
+ * import { getArgumentValues } from 'graphql/execution';
261
+ *
262
+ * const schema = buildSchema(`
263
+ * type Query {
264
+ * reviews(stars: Int!): [String]
265
+ * }
266
+ * `);
267
+ * const fieldDef = schema.getQueryType().getFields().reviews;
268
+ * const document = parse('query ($stars: Int!) { reviews(stars: $stars) }');
269
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
270
+ *
271
+ * getArgumentValues(fieldDef, fieldNode, { stars: 5 }); // => { stars: 5 }
272
+ * getArgumentValues(fieldDef, fieldNode, {}); // throws an error
273
+ * ```
165
274
  */
166
275
 
167
276
  function getArgumentValues(def, node, variableValues) {
@@ -268,6 +377,11 @@ function getArgumentValues(def, node, variableValues) {
268
377
 
269
378
  return { ...coercedValues };
270
379
  }
380
+ /**
381
+ * AST node shape accepted by getDirectiveValues.
382
+ * @internal
383
+ */
384
+
271
385
  /**
272
386
  * Prepares an object map of argument values given a directive definition
273
387
  * and a AST node which may contain directives. Optionally also accepts a map
@@ -275,11 +389,41 @@ function getArgumentValues(def, node, variableValues) {
275
389
  *
276
390
  * If the directive does not exist on the node, returns undefined.
277
391
  *
278
- * Note: The returned value is a plain Object with a prototype, since it is
392
+ * Note: Returned value is a plain Object with a prototype, since it is
279
393
  * exposed to user code. Care should be taken to not pull values from the
280
394
  * Object prototype.
395
+ * @param directiveDef - The directive definition whose arguments should be coerced.
396
+ * @param node - The AST node to inspect.
397
+ * @param variableValues - The runtime variable values keyed by variable name.
398
+ * @returns Coerced directive argument values keyed by argument name.
399
+ * @example
400
+ * ```ts
401
+ * // Read literal directive arguments from a node.
402
+ * import { parse } from 'graphql/language';
403
+ * import { GraphQLSkipDirective } from 'graphql/type';
404
+ * import { getDirectiveValues } from 'graphql/execution';
405
+ *
406
+ * const document = parse('{ name @skip(if: true) }');
407
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
408
+ *
409
+ * getDirectiveValues(GraphQLSkipDirective, fieldNode); // => { if: true }
410
+ * ```
411
+ * @example
412
+ * ```ts
413
+ * // This variant resolves directive arguments from variables and handles absent directives.
414
+ * import { parse } from 'graphql/language';
415
+ * import { GraphQLIncludeDirective } from 'graphql/type';
416
+ * import { getDirectiveValues } from 'graphql/execution';
417
+ *
418
+ * const document = parse('query ($includeName: Boolean!) { name @include(if: $includeName) }');
419
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
420
+ *
421
+ * getDirectiveValues(GraphQLIncludeDirective, fieldNode, {
422
+ * includeName: false,
423
+ * }); // => { if: false }
424
+ * getDirectiveValues(GraphQLIncludeDirective, { directives: [] }); // => undefined
425
+ * ```
281
426
  */
282
-
283
427
  function getDirectiveValues(directiveDef, node, variableValues) {
284
428
  var _node$directives;
285
429
 
@@ -1,3 +1,4 @@
1
+ /** @category Values */
1
2
  import { inspect } from '../jsutils/inspect.mjs';
2
3
  import { keyMap } from '../jsutils/keyMap.mjs';
3
4
  import { printPathArray } from '../jsutils/printPathArray.mjs';
@@ -12,11 +13,77 @@ import { valueFromAST } from '../utilities/valueFromAST.mjs';
12
13
  /**
13
14
  * Prepares an object map of variableValues of the correct type based on the
14
15
  * provided variable definitions and arbitrary input. If the input cannot be
15
- * parsed to match the variable definitions, a GraphQLError will be thrown.
16
+ * parsed to match the variable definitions, GraphQLError values are returned.
16
17
  *
17
- * Note: The returned value is a plain Object with a prototype, since it is
18
+ * Note: Returned value is a plain Object with a prototype, since it is
18
19
  * exposed to user code. Care should be taken to not pull values from the
19
20
  * Object prototype.
21
+ * @param schema - GraphQL schema to use.
22
+ * @param varDefNodes - The variable definition AST nodes to coerce.
23
+ * @param inputs - The runtime variable values keyed by variable name.
24
+ * @param options - Optional variable coercion options, including error limits.
25
+ * @returns Coerced variable values, or request errors.
26
+ * @example
27
+ * ```ts
28
+ * // Coerce provided variables and apply operation defaults.
29
+ * import { parse } from 'graphql/language';
30
+ * import { buildSchema } from 'graphql/utilities';
31
+ * import { getVariableValues } from 'graphql/execution';
32
+ *
33
+ * const schema = buildSchema(`
34
+ * type Query {
35
+ * reviews(stars: Int!, limit: Int = 10): [String]
36
+ * }
37
+ * `);
38
+ * const document = parse(`
39
+ * query ($stars: Int!, $limit: Int = 10) {
40
+ * reviews(stars: $stars, limit: $limit)
41
+ * }
42
+ * `);
43
+ * const operation = document.definitions[0];
44
+ *
45
+ * const result = getVariableValues(
46
+ * schema,
47
+ * operation.variableDefinitions,
48
+ * { stars: '5' },
49
+ * );
50
+ *
51
+ * result; // => { coerced: { stars: 5, limit: 10 } }
52
+ * ```
53
+ * @example
54
+ * ```ts
55
+ * // This variant uses maxErrors to cap reported coercion errors.
56
+ * import { parse } from 'graphql/language';
57
+ * import { buildSchema } from 'graphql/utilities';
58
+ * import { getVariableValues } from 'graphql/execution';
59
+ *
60
+ * const schema = buildSchema(`
61
+ * input ReviewInput {
62
+ * stars: Int!
63
+ * }
64
+ *
65
+ * type Query {
66
+ * review(input: ReviewInput!): String
67
+ * }
68
+ * `);
69
+ * const document = parse(`
70
+ * query ($first: ReviewInput!, $second: ReviewInput!) {
71
+ * first: review(input: $first)
72
+ * second: review(input: $second)
73
+ * }
74
+ * `);
75
+ * const operation = document.definitions[0];
76
+ *
77
+ * const result = getVariableValues(
78
+ * schema,
79
+ * operation.variableDefinitions,
80
+ * { first: { stars: 'bad' }, second: { stars: 'also bad' } },
81
+ * { maxErrors: 1 },
82
+ * );
83
+ *
84
+ * result.errors.length; // => 2
85
+ * result.errors[1].message; // matches /error limit reached/
86
+ * ```
20
87
  */
21
88
  export function getVariableValues(schema, varDefNodes, inputs, options) {
22
89
  const errors = [];
@@ -135,9 +202,50 @@ function coerceVariableValues(schema, varDefNodes, inputs, onError) {
135
202
  * Prepares an object map of argument values given a list of argument
136
203
  * definitions and list of argument AST nodes.
137
204
  *
138
- * Note: The returned value is a plain Object with a prototype, since it is
205
+ * Note: Returned value is a plain Object with a prototype, since it is
139
206
  * exposed to user code. Care should be taken to not pull values from the
140
207
  * Object prototype.
208
+ * @param def - The field or directive definition whose arguments should be coerced.
209
+ * @param node - The AST node to inspect.
210
+ * @param variableValues - The runtime variable values keyed by variable name.
211
+ * @returns Coerced argument values keyed by argument name.
212
+ * @example
213
+ * ```ts
214
+ * // Read literal argument values and defaults.
215
+ * import { parse } from 'graphql/language';
216
+ * import { buildSchema } from 'graphql/utilities';
217
+ * import { getArgumentValues } from 'graphql/execution';
218
+ *
219
+ * const schema = buildSchema(`
220
+ * type Query {
221
+ * reviews(stars: Int!, limit: Int = 10): [String]
222
+ * }
223
+ * `);
224
+ * const fieldDef = schema.getQueryType().getFields().reviews;
225
+ * const document = parse('{ reviews(stars: 5) }');
226
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
227
+ *
228
+ * getArgumentValues(fieldDef, fieldNode); // => { stars: 5, limit: 10 }
229
+ * ```
230
+ * @example
231
+ * ```ts
232
+ * // This variant resolves argument values from operation variables.
233
+ * import { parse } from 'graphql/language';
234
+ * import { buildSchema } from 'graphql/utilities';
235
+ * import { getArgumentValues } from 'graphql/execution';
236
+ *
237
+ * const schema = buildSchema(`
238
+ * type Query {
239
+ * reviews(stars: Int!): [String]
240
+ * }
241
+ * `);
242
+ * const fieldDef = schema.getQueryType().getFields().reviews;
243
+ * const document = parse('query ($stars: Int!) { reviews(stars: $stars) }');
244
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
245
+ *
246
+ * getArgumentValues(fieldDef, fieldNode, { stars: 5 }); // => { stars: 5 }
247
+ * getArgumentValues(fieldDef, fieldNode, {}); // throws an error
248
+ * ```
141
249
  */
142
250
 
143
251
  export function getArgumentValues(def, node, variableValues) {
@@ -231,6 +339,11 @@ export function getArgumentValues(def, node, variableValues) {
231
339
 
232
340
  return { ...coercedValues };
233
341
  }
342
+ /**
343
+ * AST node shape accepted by getDirectiveValues.
344
+ * @internal
345
+ */
346
+
234
347
  /**
235
348
  * Prepares an object map of argument values given a directive definition
236
349
  * and a AST node which may contain directives. Optionally also accepts a map
@@ -238,11 +351,41 @@ export function getArgumentValues(def, node, variableValues) {
238
351
  *
239
352
  * If the directive does not exist on the node, returns undefined.
240
353
  *
241
- * Note: The returned value is a plain Object with a prototype, since it is
354
+ * Note: Returned value is a plain Object with a prototype, since it is
242
355
  * exposed to user code. Care should be taken to not pull values from the
243
356
  * Object prototype.
357
+ * @param directiveDef - The directive definition whose arguments should be coerced.
358
+ * @param node - The AST node to inspect.
359
+ * @param variableValues - The runtime variable values keyed by variable name.
360
+ * @returns Coerced directive argument values keyed by argument name.
361
+ * @example
362
+ * ```ts
363
+ * // Read literal directive arguments from a node.
364
+ * import { parse } from 'graphql/language';
365
+ * import { GraphQLSkipDirective } from 'graphql/type';
366
+ * import { getDirectiveValues } from 'graphql/execution';
367
+ *
368
+ * const document = parse('{ name @skip(if: true) }');
369
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
370
+ *
371
+ * getDirectiveValues(GraphQLSkipDirective, fieldNode); // => { if: true }
372
+ * ```
373
+ * @example
374
+ * ```ts
375
+ * // This variant resolves directive arguments from variables and handles absent directives.
376
+ * import { parse } from 'graphql/language';
377
+ * import { GraphQLIncludeDirective } from 'graphql/type';
378
+ * import { getDirectiveValues } from 'graphql/execution';
379
+ *
380
+ * const document = parse('query ($includeName: Boolean!) { name @include(if: $includeName) }');
381
+ * const fieldNode = document.definitions[0].selectionSet.selections[0];
382
+ *
383
+ * getDirectiveValues(GraphQLIncludeDirective, fieldNode, {
384
+ * includeName: false,
385
+ * }); // => { if: false }
386
+ * getDirectiveValues(GraphQLIncludeDirective, { directives: [] }); // => undefined
387
+ * ```
244
388
  */
245
-
246
389
  export function getDirectiveValues(directiveDef, node, variableValues) {
247
390
  var _node$directives;
248
391
 
package/graphql.d.ts CHANGED
@@ -7,61 +7,183 @@ import type {
7
7
  import type { GraphQLSchema } from './type/schema';
8
8
  import type { ExecutionResult } from './execution/execute';
9
9
  /**
10
- * This is the primary entry point function for fulfilling GraphQL operations
11
- * by parsing, validating, and executing a GraphQL document along side a
12
- * GraphQL schema.
13
- *
14
- * More sophisticated GraphQL servers, such as those which persist queries,
15
- * may wish to separate the validation and execution phases to a static time
16
- * tooling step, and a server runtime step.
17
- *
18
- * Accepts either an object with named arguments, or individual arguments:
19
- *
20
- * schema:
21
- * The GraphQL type system to use when validating and executing a query.
22
- * source:
23
- * A GraphQL language formatted string representing the requested operation.
24
- * rootValue:
25
- * The value provided as the first argument to resolver functions on the top
26
- * level type (e.g. the query object type).
27
- * contextValue:
28
- * The context value is provided as an argument to resolver functions after
29
- * field arguments. It is used to pass shared information useful at any point
30
- * during executing this query, for example the currently logged in user and
31
- * connections to databases or other services.
32
- * variableValues:
33
- * A mapping of variable name to runtime value to use for all variables
34
- * defined in the requestString.
35
- * operationName:
36
- * The name of the operation to use if requestString contains multiple
37
- * possible operations. Can be omitted if requestString contains only
38
- * one operation.
39
- * fieldResolver:
40
- * A resolver function to use when one is not provided by the schema.
41
- * If not provided, the default field resolver is used (which looks for a
42
- * value or method on the source value with the field's name).
43
- * typeResolver:
44
- * A type resolver function to use when none is provided by the schema.
45
- * If not provided, the default type resolver is used (which looks for a
46
- * `__typename` field or alternatively calls the `isTypeOf` method).
10
+ * Describes the input object accepted by `graphql` and `graphqlSync`.
11
+ *
12
+ * These arguments describe the full parse, validate, and execute lifecycle for
13
+ * a GraphQL request.
14
+ * @category Request Pipeline
47
15
  */
48
16
  export interface GraphQLArgs {
17
+ /** The GraphQL type system to use when validating and executing a query. */
49
18
  schema: GraphQLSchema;
19
+ /**
20
+ * A GraphQL language-formatted string or source object representing the
21
+ * requested operation.
22
+ */
50
23
  source: string | Source;
24
+ /**
25
+ * The value provided as the first argument to resolver functions on the top
26
+ * level type, such as the query object type.
27
+ */
51
28
  rootValue?: unknown;
29
+ /**
30
+ * Application context value passed to every resolver.
31
+ *
32
+ * Use this for shared request data such as the currently logged in user and
33
+ * connections to databases or other services.
34
+ */
52
35
  contextValue?: unknown;
36
+ /** A mapping of variable name to runtime value for variables defined by the operation. */
53
37
  variableValues?: Maybe<{
54
38
  readonly [variable: string]: unknown;
55
39
  }>;
40
+ /**
41
+ * The operation to execute when the source contains multiple possible
42
+ * operations. This can be omitted when the source contains only one operation.
43
+ */
56
44
  operationName?: Maybe<string>;
45
+ /**
46
+ * A resolver function to use when one is not provided by the schema.
47
+ *
48
+ * If not provided, the default field resolver is used, which looks for a value
49
+ * or method on the source value with the field's name.
50
+ */
57
51
  fieldResolver?: Maybe<GraphQLFieldResolver<any, any>>;
52
+ /**
53
+ * A type resolver function to use when none is provided by the schema.
54
+ *
55
+ * If not provided, the default type resolver is used, which looks for a
56
+ * `__typename` field or alternatively calls the `isTypeOf` method.
57
+ */
58
58
  typeResolver?: Maybe<GraphQLTypeResolver<any, any>>;
59
59
  }
60
+ /**
61
+ * Parses, validates, and executes a GraphQL document against a schema.
62
+ *
63
+ * This is the primary entry point for fulfilling GraphQL operations. Use this
64
+ * when you want a single-call request lifecycle that returns a promise in all
65
+ * cases.
66
+ *
67
+ * More sophisticated GraphQL servers, such as those which persist queries, may
68
+ * wish to separate the validation and execution phases to a static-time tooling
69
+ * step and a server runtime step.
70
+ * @param args - Request execution arguments, including schema and source.
71
+ * @returns A promise that resolves to an execution result or validation errors.
72
+ * @example
73
+ * ```ts
74
+ * // Execute a complete asynchronous request with variables.
75
+ * import { graphql, buildSchema } from 'graphql';
76
+ *
77
+ * const schema = buildSchema(`
78
+ * type Query {
79
+ * greeting(name: String!): String
80
+ * }
81
+ * `);
82
+ *
83
+ * const result = await graphql({
84
+ * schema,
85
+ * source: 'query SayHello($name: String!) { greeting(name: $name) }',
86
+ * rootValue: {
87
+ * greeting: ({ name }) => `Hello, ${name}!`,
88
+ * },
89
+ * variableValues: { name: 'Ada' },
90
+ * operationName: 'SayHello',
91
+ * });
92
+ *
93
+ * result; // => { data: { greeting: 'Hello, Ada!' } }
94
+ * ```
95
+ * @example
96
+ * ```ts
97
+ * // This variant supplies context plus custom field and type resolvers.
98
+ * import { graphql, buildSchema } from 'graphql';
99
+ *
100
+ * const schema = buildSchema(`
101
+ * interface Named {
102
+ * name: String!
103
+ * }
104
+ *
105
+ * type User implements Named {
106
+ * name: String!
107
+ * }
108
+ *
109
+ * type Query {
110
+ * viewer: Named
111
+ * }
112
+ * `);
113
+ *
114
+ * const result = await graphql({
115
+ * schema,
116
+ * source: '{ viewer { __typename name } }',
117
+ * rootValue: { viewer: { kind: 'user', name: 'Ada' } },
118
+ * contextValue: { locale: 'en' },
119
+ * fieldResolver: (source, _args, context, info) => {
120
+ * context.locale; // => 'en'
121
+ * return source[info.fieldName];
122
+ * },
123
+ * typeResolver: (value) => {
124
+ * return value.kind === 'user' ? 'User' : undefined;
125
+ * },
126
+ * });
127
+ *
128
+ * result; // => { data: { viewer: { __typename: 'User', name: 'Ada' } } }
129
+ * ```
130
+ * @category Request Pipeline
131
+ */
60
132
  export declare function graphql(args: GraphQLArgs): Promise<ExecutionResult>;
61
133
  /**
62
- * The graphqlSync function also fulfills GraphQL operations by parsing,
63
- * validating, and executing a GraphQL document along side a GraphQL schema.
64
- * However, it guarantees to complete synchronously (or throw an error) assuming
65
- * that all field resolvers are also synchronous.
134
+ * Parses, validates, and executes a GraphQL document synchronously.
135
+ *
136
+ * This function guarantees that execution completes synchronously, or throws an
137
+ * error, assuming that all field resolvers are also synchronous. It throws when
138
+ * any resolver returns a promise.
139
+ * @param args - Request execution arguments, including schema and source.
140
+ * @returns Completed execution output, or request errors if parsing or
141
+ * validation fails.
142
+ * @example
143
+ * ```ts
144
+ * // Execute a complete synchronous request with variables.
145
+ * import { graphqlSync, buildSchema } from 'graphql';
146
+ *
147
+ * const schema = buildSchema(`
148
+ * type Query {
149
+ * greeting(name: String!): String
150
+ * }
151
+ * `);
152
+ *
153
+ * const result = graphqlSync({
154
+ * schema,
155
+ * source: 'query SayHello($name: String!) { greeting(name: $name) }',
156
+ * rootValue: {
157
+ * greeting: ({ name }) => `Hello, ${name}!`,
158
+ * },
159
+ * variableValues: { name: 'Ada' },
160
+ * operationName: 'SayHello',
161
+ * });
162
+ *
163
+ * result; // => { data: { greeting: 'Hello, Ada!' } }
164
+ * ```
165
+ * @example
166
+ * ```ts
167
+ * // This variant uses a synchronous custom field resolver and context.
168
+ * import { graphqlSync, buildSchema } from 'graphql';
169
+ *
170
+ * const schema = buildSchema(`
171
+ * type Query {
172
+ * greeting: String
173
+ * }
174
+ * `);
175
+ *
176
+ * const result = graphqlSync({
177
+ * schema,
178
+ * source: '{ greeting }',
179
+ * fieldResolver: (_source, _args, contextValue) => {
180
+ * return contextValue.defaultGreeting;
181
+ * },
182
+ * contextValue: { defaultGreeting: 'Hello' },
183
+ * });
184
+ *
185
+ * result; // => { data: { greeting: 'Hello' } }
186
+ * ```
187
+ * @category Request Pipeline
66
188
  */
67
189
  export declare function graphqlSync(args: GraphQLArgs): ExecutionResult;