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
@@ -1,7 +1,24 @@
1
+ /** @category Type Comparisons */
1
2
  import type { GraphQLCompositeType, GraphQLType } from '../type/definition';
2
3
  import type { GraphQLSchema } from '../type/schema';
3
4
  /**
4
5
  * Provided two types, return true if the types are equal (invariant).
6
+ * @param typeA - The first GraphQL type to compare.
7
+ * @param typeB - The second GraphQL type to compare.
8
+ * @returns True when both types are equal.
9
+ * @example
10
+ * ```ts
11
+ * import {
12
+ * GraphQLList,
13
+ * GraphQLNonNull,
14
+ * GraphQLString,
15
+ * } from 'graphql/type';
16
+ * import { isEqualType } from 'graphql/utilities';
17
+ *
18
+ * isEqualType(GraphQLString, GraphQLString); // => true
19
+ * isEqualType(new GraphQLList(GraphQLString), new GraphQLList(GraphQLString)); // => true
20
+ * isEqualType(new GraphQLNonNull(GraphQLString), GraphQLString); // => false
21
+ * ```
5
22
  */
6
23
  export declare function isEqualType(
7
24
  typeA: GraphQLType,
@@ -10,6 +27,40 @@ export declare function isEqualType(
10
27
  /**
11
28
  * Provided a type and a super type, return true if the first type is either
12
29
  * equal or a subset of the second super type (covariant).
30
+ * @param schema - GraphQL schema to use.
31
+ * @param maybeSubType - The possible subtype to compare.
32
+ * @param superType - The possible supertype to compare.
33
+ * @returns True when `maybeSubType` is equal to or a subtype of `superType`.
34
+ * @example
35
+ * ```ts
36
+ * import { buildSchema } from 'graphql/utilities';
37
+ * import {
38
+ * GraphQLNonNull,
39
+ * assertInterfaceType,
40
+ * assertObjectType,
41
+ * } from 'graphql/type';
42
+ * import { isTypeSubTypeOf } from 'graphql/utilities';
43
+ *
44
+ * const schema = buildSchema(`
45
+ * interface Node {
46
+ * id: ID!
47
+ * }
48
+ *
49
+ * type User implements Node {
50
+ * id: ID!
51
+ * }
52
+ *
53
+ * type Query {
54
+ * node: Node
55
+ * }
56
+ * `);
57
+ * const Node = assertInterfaceType(schema.getType('Node'));
58
+ * const User = assertObjectType(schema.getType('User'));
59
+ *
60
+ * isTypeSubTypeOf(schema, User, Node); // => true
61
+ * isTypeSubTypeOf(schema, new GraphQLNonNull(User), Node); // => true
62
+ * isTypeSubTypeOf(schema, Node, User); // => false
63
+ * ```
13
64
  */
14
65
  export declare function isTypeSubTypeOf(
15
66
  schema: GraphQLSchema,
@@ -24,6 +75,39 @@ export declare function isTypeSubTypeOf(
24
75
  * be visited in a context of another type.
25
76
  *
26
77
  * This function is commutative.
78
+ * @param schema - GraphQL schema to use.
79
+ * @param typeA - The first GraphQL type to compare.
80
+ * @param typeB - The second GraphQL type to compare.
81
+ * @returns True when the two composite types can apply to at least one common object type.
82
+ * @example
83
+ * ```ts
84
+ * import { buildSchema } from 'graphql/utilities';
85
+ * import { assertObjectType, assertUnionType } from 'graphql/type';
86
+ * import { doTypesOverlap } from 'graphql/utilities';
87
+ *
88
+ * const schema = buildSchema(`
89
+ * type Photo {
90
+ * url: String!
91
+ * }
92
+ *
93
+ * type Video {
94
+ * url: String!
95
+ * }
96
+ *
97
+ * union Media = Photo | Video
98
+ * union StillImage = Photo
99
+ *
100
+ * type Query {
101
+ * media: [Media]
102
+ * }
103
+ * `);
104
+ * const Media = assertUnionType(schema.getType('Media'));
105
+ * const StillImage = assertUnionType(schema.getType('StillImage'));
106
+ * const Video = assertObjectType(schema.getType('Video'));
107
+ *
108
+ * doTypesOverlap(schema, Media, StillImage); // => true
109
+ * doTypesOverlap(schema, StillImage, Video); // => false
110
+ * ```
27
111
  */
28
112
  export declare function doTypesOverlap(
29
113
  schema: GraphQLSchema,
@@ -9,8 +9,26 @@ exports.isTypeSubTypeOf = isTypeSubTypeOf;
9
9
 
10
10
  var _definition = require('../type/definition.js');
11
11
 
12
+ /** @category Type Comparisons */
13
+
12
14
  /**
13
15
  * Provided two types, return true if the types are equal (invariant).
16
+ * @param typeA - The first GraphQL type to compare.
17
+ * @param typeB - The second GraphQL type to compare.
18
+ * @returns True when both types are equal.
19
+ * @example
20
+ * ```ts
21
+ * import {
22
+ * GraphQLList,
23
+ * GraphQLNonNull,
24
+ * GraphQLString,
25
+ * } from 'graphql/type';
26
+ * import { isEqualType } from 'graphql/utilities';
27
+ *
28
+ * isEqualType(GraphQLString, GraphQLString); // => true
29
+ * isEqualType(new GraphQLList(GraphQLString), new GraphQLList(GraphQLString)); // => true
30
+ * isEqualType(new GraphQLNonNull(GraphQLString), GraphQLString); // => false
31
+ * ```
14
32
  */
15
33
  function isEqualType(typeA, typeB) {
16
34
  // Equivalent types are equal.
@@ -37,6 +55,40 @@ function isEqualType(typeA, typeB) {
37
55
  /**
38
56
  * Provided a type and a super type, return true if the first type is either
39
57
  * equal or a subset of the second super type (covariant).
58
+ * @param schema - GraphQL schema to use.
59
+ * @param maybeSubType - The possible subtype to compare.
60
+ * @param superType - The possible supertype to compare.
61
+ * @returns True when `maybeSubType` is equal to or a subtype of `superType`.
62
+ * @example
63
+ * ```ts
64
+ * import { buildSchema } from 'graphql/utilities';
65
+ * import {
66
+ * GraphQLNonNull,
67
+ * assertInterfaceType,
68
+ * assertObjectType,
69
+ * } from 'graphql/type';
70
+ * import { isTypeSubTypeOf } from 'graphql/utilities';
71
+ *
72
+ * const schema = buildSchema(`
73
+ * interface Node {
74
+ * id: ID!
75
+ * }
76
+ *
77
+ * type User implements Node {
78
+ * id: ID!
79
+ * }
80
+ *
81
+ * type Query {
82
+ * node: Node
83
+ * }
84
+ * `);
85
+ * const Node = assertInterfaceType(schema.getType('Node'));
86
+ * const User = assertObjectType(schema.getType('User'));
87
+ *
88
+ * isTypeSubTypeOf(schema, User, Node); // => true
89
+ * isTypeSubTypeOf(schema, new GraphQLNonNull(User), Node); // => true
90
+ * isTypeSubTypeOf(schema, Node, User); // => false
91
+ * ```
40
92
  */
41
93
 
42
94
  function isTypeSubTypeOf(schema, maybeSubType, superType) {
@@ -87,6 +139,39 @@ function isTypeSubTypeOf(schema, maybeSubType, superType) {
87
139
  * be visited in a context of another type.
88
140
  *
89
141
  * This function is commutative.
142
+ * @param schema - GraphQL schema to use.
143
+ * @param typeA - The first GraphQL type to compare.
144
+ * @param typeB - The second GraphQL type to compare.
145
+ * @returns True when the two composite types can apply to at least one common object type.
146
+ * @example
147
+ * ```ts
148
+ * import { buildSchema } from 'graphql/utilities';
149
+ * import { assertObjectType, assertUnionType } from 'graphql/type';
150
+ * import { doTypesOverlap } from 'graphql/utilities';
151
+ *
152
+ * const schema = buildSchema(`
153
+ * type Photo {
154
+ * url: String!
155
+ * }
156
+ *
157
+ * type Video {
158
+ * url: String!
159
+ * }
160
+ *
161
+ * union Media = Photo | Video
162
+ * union StillImage = Photo
163
+ *
164
+ * type Query {
165
+ * media: [Media]
166
+ * }
167
+ * `);
168
+ * const Media = assertUnionType(schema.getType('Media'));
169
+ * const StillImage = assertUnionType(schema.getType('StillImage'));
170
+ * const Video = assertObjectType(schema.getType('Video'));
171
+ *
172
+ * doTypesOverlap(schema, Media, StillImage); // => true
173
+ * doTypesOverlap(schema, StillImage, Video); // => false
174
+ * ```
90
175
  */
91
176
 
92
177
  function doTypesOverlap(schema, typeA, typeB) {
@@ -1,3 +1,4 @@
1
+ /** @category Type Comparisons */
1
2
  import {
2
3
  isAbstractType,
3
4
  isInterfaceType,
@@ -8,6 +9,22 @@ import {
8
9
 
9
10
  /**
10
11
  * Provided two types, return true if the types are equal (invariant).
12
+ * @param typeA - The first GraphQL type to compare.
13
+ * @param typeB - The second GraphQL type to compare.
14
+ * @returns True when both types are equal.
15
+ * @example
16
+ * ```ts
17
+ * import {
18
+ * GraphQLList,
19
+ * GraphQLNonNull,
20
+ * GraphQLString,
21
+ * } from 'graphql/type';
22
+ * import { isEqualType } from 'graphql/utilities';
23
+ *
24
+ * isEqualType(GraphQLString, GraphQLString); // => true
25
+ * isEqualType(new GraphQLList(GraphQLString), new GraphQLList(GraphQLString)); // => true
26
+ * isEqualType(new GraphQLNonNull(GraphQLString), GraphQLString); // => false
27
+ * ```
11
28
  */
12
29
  export function isEqualType(typeA, typeB) {
13
30
  // Equivalent types are equal.
@@ -28,6 +45,40 @@ export function isEqualType(typeA, typeB) {
28
45
  /**
29
46
  * Provided a type and a super type, return true if the first type is either
30
47
  * equal or a subset of the second super type (covariant).
48
+ * @param schema - GraphQL schema to use.
49
+ * @param maybeSubType - The possible subtype to compare.
50
+ * @param superType - The possible supertype to compare.
51
+ * @returns True when `maybeSubType` is equal to or a subtype of `superType`.
52
+ * @example
53
+ * ```ts
54
+ * import { buildSchema } from 'graphql/utilities';
55
+ * import {
56
+ * GraphQLNonNull,
57
+ * assertInterfaceType,
58
+ * assertObjectType,
59
+ * } from 'graphql/type';
60
+ * import { isTypeSubTypeOf } from 'graphql/utilities';
61
+ *
62
+ * const schema = buildSchema(`
63
+ * interface Node {
64
+ * id: ID!
65
+ * }
66
+ *
67
+ * type User implements Node {
68
+ * id: ID!
69
+ * }
70
+ *
71
+ * type Query {
72
+ * node: Node
73
+ * }
74
+ * `);
75
+ * const Node = assertInterfaceType(schema.getType('Node'));
76
+ * const User = assertObjectType(schema.getType('User'));
77
+ *
78
+ * isTypeSubTypeOf(schema, User, Node); // => true
79
+ * isTypeSubTypeOf(schema, new GraphQLNonNull(User), Node); // => true
80
+ * isTypeSubTypeOf(schema, Node, User); // => false
81
+ * ```
31
82
  */
32
83
 
33
84
  export function isTypeSubTypeOf(schema, maybeSubType, superType) {
@@ -77,6 +128,39 @@ export function isTypeSubTypeOf(schema, maybeSubType, superType) {
77
128
  * be visited in a context of another type.
78
129
  *
79
130
  * This function is commutative.
131
+ * @param schema - GraphQL schema to use.
132
+ * @param typeA - The first GraphQL type to compare.
133
+ * @param typeB - The second GraphQL type to compare.
134
+ * @returns True when the two composite types can apply to at least one common object type.
135
+ * @example
136
+ * ```ts
137
+ * import { buildSchema } from 'graphql/utilities';
138
+ * import { assertObjectType, assertUnionType } from 'graphql/type';
139
+ * import { doTypesOverlap } from 'graphql/utilities';
140
+ *
141
+ * const schema = buildSchema(`
142
+ * type Photo {
143
+ * url: String!
144
+ * }
145
+ *
146
+ * type Video {
147
+ * url: String!
148
+ * }
149
+ *
150
+ * union Media = Photo | Video
151
+ * union StillImage = Photo
152
+ *
153
+ * type Query {
154
+ * media: [Media]
155
+ * }
156
+ * `);
157
+ * const Media = assertUnionType(schema.getType('Media'));
158
+ * const StillImage = assertUnionType(schema.getType('StillImage'));
159
+ * const Video = assertObjectType(schema.getType('Video'));
160
+ *
161
+ * doTypesOverlap(schema, Media, StillImage); // => true
162
+ * doTypesOverlap(schema, StillImage, Video); // => false
163
+ * ```
80
164
  */
81
165
 
82
166
  export function doTypesOverlap(schema, typeA, typeB) {
@@ -1,3 +1,4 @@
1
+ /** @category Values */
1
2
  import type {
2
3
  ListTypeNode,
3
4
  NamedTypeNode,
@@ -13,19 +14,104 @@ import type { GraphQLSchema } from '../type/schema';
13
14
  * AST node for `[User]`, a GraphQLList instance will be returned, containing
14
15
  * the type called "User" found in the schema. If a type called "User" is not
15
16
  * found in the schema, then undefined will be returned.
17
+ * @param schema - GraphQL schema to use.
18
+ * @param typeNode - The GraphQL type AST node to resolve.
19
+ * @returns The GraphQL type referenced by the AST node, or undefined if it cannot be resolved.
20
+ * @example
21
+ * ```ts
22
+ * import { parseType } from 'graphql/language';
23
+ * import { buildSchema, typeFromAST } from 'graphql/utilities';
24
+ *
25
+ * const schema = buildSchema(`
26
+ * type Query {
27
+ * name: String
28
+ * }
29
+ * `);
30
+ *
31
+ * typeFromAST(schema, parseType('String'))?.toString(); // => 'String'
32
+ * typeFromAST(schema, parseType('Missing')); // => undefined
33
+ * ```
16
34
  */
17
35
  export declare function typeFromAST(
18
36
  schema: GraphQLSchema,
19
37
  typeNode: NamedTypeNode,
20
38
  ): GraphQLNamedType | undefined;
39
+ /**
40
+ * Resolves a list type AST node against a schema.
41
+ * @param schema - GraphQL schema to use.
42
+ * @param typeNode - The list type AST node to resolve.
43
+ * @returns The GraphQL list type referenced by the AST node, or undefined if
44
+ * it cannot be resolved.
45
+ * @example
46
+ * ```ts
47
+ * import { parseType } from 'graphql/language';
48
+ * import { buildSchema, typeFromAST } from 'graphql/utilities';
49
+ *
50
+ * const schema = buildSchema(`
51
+ * type Query {
52
+ * tags: [String]
53
+ * }
54
+ * `);
55
+ *
56
+ * typeFromAST(schema, parseType('[String]'))?.toString(); // => '[String]'
57
+ * typeFromAST(schema, parseType('[Missing]')); // => undefined
58
+ * ```
59
+ */
21
60
  export declare function typeFromAST(
22
61
  schema: GraphQLSchema,
23
62
  typeNode: ListTypeNode,
24
63
  ): GraphQLList<any> | undefined;
64
+ /**
65
+ * Resolves a non-null type AST node against a schema.
66
+ * @param schema - GraphQL schema to use.
67
+ * @param typeNode - The non-null type AST node to resolve.
68
+ * @returns The GraphQL non-null type referenced by the AST node, or undefined
69
+ * if it cannot be resolved.
70
+ * @example
71
+ * ```ts
72
+ * import { parseType } from 'graphql/language';
73
+ * import { buildSchema, typeFromAST } from 'graphql/utilities';
74
+ *
75
+ * const schema = buildSchema(`
76
+ * type Query {
77
+ * name: String!
78
+ * }
79
+ * `);
80
+ *
81
+ * typeFromAST(schema, parseType('String!'))?.toString(); // => 'String!'
82
+ * typeFromAST(schema, parseType('[String!]!'))?.toString(); // => '[String!]!'
83
+ * ```
84
+ */
25
85
  export declare function typeFromAST(
26
86
  schema: GraphQLSchema,
27
87
  typeNode: NonNullTypeNode,
28
88
  ): GraphQLNonNull<any> | undefined;
89
+ /**
90
+ * Resolves a type AST node against a schema.
91
+ * @param schema - GraphQL schema to use.
92
+ * @param typeNode - The GraphQL type AST node to resolve.
93
+ * @returns The GraphQL type referenced by the AST node, or undefined if it
94
+ * cannot be resolved.
95
+ * @example
96
+ * ```ts
97
+ * import { parseType } from 'graphql/language';
98
+ * import { buildSchema, typeFromAST } from 'graphql/utilities';
99
+ *
100
+ * const schema = buildSchema(`
101
+ * type User {
102
+ * name: String
103
+ * }
104
+ *
105
+ * type Query {
106
+ * users: [User!]!
107
+ * }
108
+ * `);
109
+ *
110
+ * typeFromAST(schema, parseType('User'))?.toString(); // => 'User'
111
+ * typeFromAST(schema, parseType('[User!]!'))?.toString(); // => '[User!]!'
112
+ * typeFromAST(schema, parseType('Missing')); // => undefined
113
+ * ```
114
+ */
29
115
  export declare function typeFromAST(
30
116
  schema: GraphQLSchema,
31
117
  typeNode: TypeNode,
@@ -9,6 +9,9 @@ var _kinds = require('../language/kinds.js');
9
9
 
10
10
  var _definition = require('../type/definition.js');
11
11
 
12
+ /** @category Values */
13
+
14
+ /** @internal */
12
15
  function typeFromAST(schema, typeNode) {
13
16
  switch (typeNode.kind) {
14
17
  case _kinds.Kind.LIST_TYPE: {
@@ -1,5 +1,8 @@
1
+ /** @category Values */
1
2
  import { Kind } from '../language/kinds.mjs';
2
3
  import { GraphQLList, GraphQLNonNull } from '../type/definition.mjs';
4
+
5
+ /** @internal */
3
6
  export function typeFromAST(schema, typeNode) {
4
7
  switch (typeNode.kind) {
5
8
  case Kind.LIST_TYPE: {
@@ -1,6 +1,9 @@
1
+ /** @category Typed Documents */
1
2
  import type { DocumentNode, ExecutableDefinitionNode } from '../language/ast';
2
3
  /**
3
4
  * Wrapper type that contains DocumentNode and types that can be deduced from it.
5
+ * @typeParam TResponseData - Typed GraphQL response data shape.
6
+ * @typeParam TRequestVariables - Typed GraphQL request variables shape.
4
7
  */
5
8
  export interface TypedQueryDocumentNode<
6
9
  TResponseData = {
@@ -10,6 +13,7 @@ export interface TypedQueryDocumentNode<
10
13
  [key: string]: any;
11
14
  },
12
15
  > extends DocumentNode {
16
+ /** Top-level executable and type-system definitions in this document. */
13
17
  readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;
14
18
  /**
15
19
  * This type is used to ensure that the variables you pass in to the query are assignable to Variables
@@ -1,3 +1,4 @@
1
+ /** @category Values */
1
2
  import type { Maybe } from '../jsutils/Maybe';
2
3
  import type { ObjMap } from '../jsutils/ObjMap';
3
4
  import type { ValueNode } from '../language/ast';
@@ -20,7 +21,44 @@ import type { GraphQLInputType } from '../type/definition';
20
21
  * | Int / Float | Number |
21
22
  * | Enum Value | Unknown |
22
23
  * | NullValue | null |
24
+ * @param valueNode - GraphQL value AST node to convert.
25
+ * @param type - The GraphQL type to inspect.
26
+ * @param variables - Optional runtime variable values keyed by variable name.
27
+ * @returns The coerced JavaScript value, or undefined if the AST value cannot be coerced to the type.
28
+ * @example
29
+ * ```ts
30
+ * // Coerce literal values without variables.
31
+ * import { parseValue } from 'graphql/language';
32
+ * import {
33
+ * GraphQLInputObjectType,
34
+ * GraphQLInt,
35
+ * GraphQLList,
36
+ * GraphQLNonNull,
37
+ * GraphQLString,
38
+ * } from 'graphql/type';
39
+ * import { valueFromAST } from 'graphql/utilities';
23
40
  *
41
+ * const ReviewInput = new GraphQLInputObjectType({
42
+ * name: 'ReviewInput',
43
+ * fields: {
44
+ * stars: { type: new GraphQLNonNull(GraphQLInt) },
45
+ * tags: { type: new GraphQLList(GraphQLString) },
46
+ * },
47
+ * });
48
+ *
49
+ * valueFromAST(parseValue('{ stars: 5, tags: ["featured"] }'), ReviewInput); // => { stars: 5, tags: ['featured'] }
50
+ * valueFromAST(parseValue('{ stars: "bad" }'), ReviewInput); // => undefined
51
+ * ```
52
+ * @example
53
+ * ```ts
54
+ * // This variant resolves variable references from runtime values.
55
+ * import { parseValue } from 'graphql/language';
56
+ * import { GraphQLInt } from 'graphql/type';
57
+ * import { valueFromAST } from 'graphql/utilities';
58
+ *
59
+ * valueFromAST(parseValue('$stars'), GraphQLInt, { stars: 5 }); // => 5
60
+ * valueFromAST(parseValue('$stars'), GraphQLInt, {}); // => undefined
61
+ * ```
24
62
  */
25
63
  export declare function valueFromAST(
26
64
  valueNode: Maybe<ValueNode>,
@@ -15,6 +15,8 @@ var _kinds = require('../language/kinds.js');
15
15
 
16
16
  var _definition = require('../type/definition.js');
17
17
 
18
+ /** @category Values */
19
+
18
20
  /**
19
21
  * Produces a JavaScript value given a GraphQL Value AST.
20
22
  *
@@ -33,7 +35,44 @@ var _definition = require('../type/definition.js');
33
35
  * | Int / Float | Number |
34
36
  * | Enum Value | Unknown |
35
37
  * | NullValue | null |
38
+ * @param valueNode - GraphQL value AST node to convert.
39
+ * @param type - The GraphQL type to inspect.
40
+ * @param variables - Optional runtime variable values keyed by variable name.
41
+ * @returns The coerced JavaScript value, or undefined if the AST value cannot be coerced to the type.
42
+ * @example
43
+ * ```ts
44
+ * // Coerce literal values without variables.
45
+ * import { parseValue } from 'graphql/language';
46
+ * import {
47
+ * GraphQLInputObjectType,
48
+ * GraphQLInt,
49
+ * GraphQLList,
50
+ * GraphQLNonNull,
51
+ * GraphQLString,
52
+ * } from 'graphql/type';
53
+ * import { valueFromAST } from 'graphql/utilities';
54
+ *
55
+ * const ReviewInput = new GraphQLInputObjectType({
56
+ * name: 'ReviewInput',
57
+ * fields: {
58
+ * stars: { type: new GraphQLNonNull(GraphQLInt) },
59
+ * tags: { type: new GraphQLList(GraphQLString) },
60
+ * },
61
+ * });
62
+ *
63
+ * valueFromAST(parseValue('{ stars: 5, tags: ["featured"] }'), ReviewInput); // => { stars: 5, tags: ['featured'] }
64
+ * valueFromAST(parseValue('{ stars: "bad" }'), ReviewInput); // => undefined
65
+ * ```
66
+ * @example
67
+ * ```ts
68
+ * // This variant resolves variable references from runtime values.
69
+ * import { parseValue } from 'graphql/language';
70
+ * import { GraphQLInt } from 'graphql/type';
71
+ * import { valueFromAST } from 'graphql/utilities';
36
72
  *
73
+ * valueFromAST(parseValue('$stars'), GraphQLInt, { stars: 5 }); // => 5
74
+ * valueFromAST(parseValue('$stars'), GraphQLInt, {}); // => undefined
75
+ * ```
37
76
  */
38
77
  function valueFromAST(valueNode, type, variables) {
39
78
  if (!valueNode) {
@@ -1,3 +1,4 @@
1
+ /** @category Values */
1
2
  import { inspect } from '../jsutils/inspect.mjs';
2
3
  import { invariant } from '../jsutils/invariant.mjs';
3
4
  import { keyMap } from '../jsutils/keyMap.mjs';
@@ -26,7 +27,44 @@ import {
26
27
  * | Int / Float | Number |
27
28
  * | Enum Value | Unknown |
28
29
  * | NullValue | null |
30
+ * @param valueNode - GraphQL value AST node to convert.
31
+ * @param type - The GraphQL type to inspect.
32
+ * @param variables - Optional runtime variable values keyed by variable name.
33
+ * @returns The coerced JavaScript value, or undefined if the AST value cannot be coerced to the type.
34
+ * @example
35
+ * ```ts
36
+ * // Coerce literal values without variables.
37
+ * import { parseValue } from 'graphql/language';
38
+ * import {
39
+ * GraphQLInputObjectType,
40
+ * GraphQLInt,
41
+ * GraphQLList,
42
+ * GraphQLNonNull,
43
+ * GraphQLString,
44
+ * } from 'graphql/type';
45
+ * import { valueFromAST } from 'graphql/utilities';
29
46
  *
47
+ * const ReviewInput = new GraphQLInputObjectType({
48
+ * name: 'ReviewInput',
49
+ * fields: {
50
+ * stars: { type: new GraphQLNonNull(GraphQLInt) },
51
+ * tags: { type: new GraphQLList(GraphQLString) },
52
+ * },
53
+ * });
54
+ *
55
+ * valueFromAST(parseValue('{ stars: 5, tags: ["featured"] }'), ReviewInput); // => { stars: 5, tags: ['featured'] }
56
+ * valueFromAST(parseValue('{ stars: "bad" }'), ReviewInput); // => undefined
57
+ * ```
58
+ * @example
59
+ * ```ts
60
+ * // This variant resolves variable references from runtime values.
61
+ * import { parseValue } from 'graphql/language';
62
+ * import { GraphQLInt } from 'graphql/type';
63
+ * import { valueFromAST } from 'graphql/utilities';
64
+ *
65
+ * valueFromAST(parseValue('$stars'), GraphQLInt, { stars: 5 }); // => 5
66
+ * valueFromAST(parseValue('$stars'), GraphQLInt, {}); // => undefined
67
+ * ```
30
68
  */
31
69
 
32
70
  export function valueFromAST(valueNode, type, variables) {
@@ -1,11 +1,12 @@
1
+ /** @category Values */
1
2
  import type { Maybe } from '../jsutils/Maybe';
2
3
  import type { ObjMap } from '../jsutils/ObjMap';
3
4
  import type { ValueNode } from '../language/ast';
4
5
  /**
5
6
  * Produces a JavaScript value given a GraphQL Value AST.
6
7
  *
7
- * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value
8
- * will reflect the provided GraphQL value AST.
8
+ * Because no GraphQL type is provided, the returned JavaScript value reflects
9
+ * the provided GraphQL value AST.
9
10
  *
10
11
  * | GraphQL Value | JavaScript Value |
11
12
  * | -------------------- | ---------------- |
@@ -15,7 +16,19 @@ import type { ValueNode } from '../language/ast';
15
16
  * | String / Enum | String |
16
17
  * | Int / Float | Number |
17
18
  * | Null | null |
19
+ * @param valueNode - GraphQL value AST node to convert.
20
+ * @param variables - Optional runtime variable values keyed by variable name.
21
+ * @returns JavaScript value represented by the GraphQL value AST.
22
+ * @example
23
+ * ```ts
24
+ * import { parseValue } from 'graphql/language';
25
+ * import { valueFromASTUntyped } from 'graphql/utilities';
18
26
  *
27
+ * const value = valueFromASTUntyped(parseValue('[1, 2, 3]'));
28
+ *
29
+ * value; // => [1, 2, 3]
30
+ * valueFromASTUntyped(parseValue('$name'), { name: 'Ada' }); // => 'Ada'
31
+ * ```
19
32
  */
20
33
  export declare function valueFromASTUntyped(
21
34
  valueNode: ValueNode,
@@ -9,11 +9,13 @@ var _keyValMap = require('../jsutils/keyValMap.js');
9
9
 
10
10
  var _kinds = require('../language/kinds.js');
11
11
 
12
+ /** @category Values */
13
+
12
14
  /**
13
15
  * Produces a JavaScript value given a GraphQL Value AST.
14
16
  *
15
- * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value
16
- * will reflect the provided GraphQL value AST.
17
+ * Because no GraphQL type is provided, the returned JavaScript value reflects
18
+ * the provided GraphQL value AST.
17
19
  *
18
20
  * | GraphQL Value | JavaScript Value |
19
21
  * | -------------------- | ---------------- |
@@ -23,7 +25,19 @@ var _kinds = require('../language/kinds.js');
23
25
  * | String / Enum | String |
24
26
  * | Int / Float | Number |
25
27
  * | Null | null |
28
+ * @param valueNode - GraphQL value AST node to convert.
29
+ * @param variables - Optional runtime variable values keyed by variable name.
30
+ * @returns JavaScript value represented by the GraphQL value AST.
31
+ * @example
32
+ * ```ts
33
+ * import { parseValue } from 'graphql/language';
34
+ * import { valueFromASTUntyped } from 'graphql/utilities';
35
+ *
36
+ * const value = valueFromASTUntyped(parseValue('[1, 2, 3]'));
26
37
  *
38
+ * value; // => [1, 2, 3]
39
+ * valueFromASTUntyped(parseValue('$name'), { name: 'Ada' }); // => 'Ada'
40
+ * ```
27
41
  */
28
42
  function valueFromASTUntyped(valueNode, variables) {
29
43
  switch (valueNode.kind) {