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,3 +1,4 @@
1
+ /** @category Schema Changes */
1
2
  import { inspect } from '../jsutils/inspect.mjs';
2
3
  import { invariant } from '../jsutils/invariant.mjs';
3
4
  import { keyMap } from '../jsutils/keyMap.mjs';
@@ -18,6 +19,8 @@ import {
18
19
  import { isSpecifiedScalarType } from '../type/scalars.mjs';
19
20
  import { astFromValue } from './astFromValue.mjs';
20
21
  import { sortValueNode } from './sortValueNode.mjs';
22
+ /** Categories of schema changes that may break existing operations. */
23
+
21
24
  var BreakingChangeType;
22
25
 
23
26
  (function (BreakingChangeType) {
@@ -45,6 +48,8 @@ var BreakingChangeType;
45
48
  })(BreakingChangeType || (BreakingChangeType = {}));
46
49
 
47
50
  export { BreakingChangeType };
51
+ /** Categories of schema changes that may be dangerous for existing operations. */
52
+
48
53
  var DangerousChangeType;
49
54
 
50
55
  (function (DangerousChangeType) {
@@ -59,10 +64,43 @@ var DangerousChangeType;
59
64
  })(DangerousChangeType || (DangerousChangeType = {}));
60
65
 
61
66
  export { DangerousChangeType };
67
+ /** Description of a schema change that may break existing operations. */
62
68
 
63
69
  /**
64
70
  * Given two schemas, returns an Array containing descriptions of all the types
65
71
  * of breaking changes covered by the other functions down below.
72
+ * @param oldSchema - Schema before the change.
73
+ * @param newSchema - Schema after the change.
74
+ * @returns Breaking changes between the two schemas.
75
+ * @example
76
+ * ```ts
77
+ * import { buildSchema, findBreakingChanges } from 'graphql/utilities';
78
+ *
79
+ * const oldSchema = buildSchema(`
80
+ * type User {
81
+ * id: ID!
82
+ * name: String
83
+ * }
84
+ *
85
+ * type Query {
86
+ * viewer: User
87
+ * }
88
+ * `);
89
+ * const newSchema = buildSchema(`
90
+ * type User {
91
+ * id: ID!
92
+ * }
93
+ *
94
+ * type Query {
95
+ * viewer: User
96
+ * }
97
+ * `);
98
+ *
99
+ * const changes = findBreakingChanges(oldSchema, newSchema);
100
+ *
101
+ * changes[0].type; // => 'FIELD_REMOVED'
102
+ * changes[0].description; // matches /User.name was removed/
103
+ * ```
66
104
  */
67
105
  export function findBreakingChanges(oldSchema, newSchema) {
68
106
  // @ts-expect-error
@@ -73,6 +111,38 @@ export function findBreakingChanges(oldSchema, newSchema) {
73
111
  /**
74
112
  * Given two schemas, returns an Array containing descriptions of all the types
75
113
  * of potentially dangerous changes covered by the other functions down below.
114
+ * @param oldSchema - Schema before the change.
115
+ * @param newSchema - Schema after the change.
116
+ * @returns Dangerous changes between the two schemas.
117
+ * @example
118
+ * ```ts
119
+ * import { buildSchema, findDangerousChanges } from 'graphql/utilities';
120
+ *
121
+ * const oldSchema = buildSchema(`
122
+ * enum Episode {
123
+ * NEW_HOPE
124
+ * }
125
+ *
126
+ * type Query {
127
+ * episode: Episode
128
+ * }
129
+ * `);
130
+ * const newSchema = buildSchema(`
131
+ * enum Episode {
132
+ * NEW_HOPE
133
+ * EMPIRE
134
+ * }
135
+ *
136
+ * type Query {
137
+ * episode: Episode
138
+ * }
139
+ * `);
140
+ *
141
+ * const changes = findDangerousChanges(oldSchema, newSchema);
142
+ *
143
+ * changes[0].type; // => 'VALUE_ADDED_TO_ENUM'
144
+ * changes[0].description; // matches /EMPIRE was added/
145
+ * ```
76
146
  */
77
147
 
78
148
  export function findDangerousChanges(oldSchema, newSchema) {
@@ -1,5 +1,7 @@
1
+ /** @category Introspection */
1
2
  import type { Maybe } from '../jsutils/Maybe';
2
3
  import type { DirectiveLocation } from '../language/directiveLocation';
4
+ /** Options controlling which fields are included in the introspection query. */
3
5
  export interface IntrospectionOptions {
4
6
  /**
5
7
  * Whether to include descriptions in the introspection result.
@@ -49,25 +51,71 @@ export interface IntrospectionOptions {
49
51
  /**
50
52
  * Produce the GraphQL query recommended for a full schema introspection.
51
53
  * Accepts optional IntrospectionOptions.
54
+ * @param options - Optional configuration for this operation.
55
+ * @returns The resolved introspection query.
56
+ * @example
57
+ * ```ts
58
+ * // Generate the default introspection query.
59
+ * import { getIntrospectionQuery } from 'graphql/utilities';
60
+ *
61
+ * const query = getIntrospectionQuery();
62
+ *
63
+ * query; // matches /__schema/
64
+ * query; // matches /description/
65
+ * query; // does not match /specifiedByURL/
66
+ * ```
67
+ * @example
68
+ * ```ts
69
+ * // This variant customizes optional introspection fields and nesting depth.
70
+ * import { getIntrospectionQuery } from 'graphql/utilities';
71
+ *
72
+ * const query = getIntrospectionQuery({
73
+ * descriptions: false,
74
+ * specifiedByUrl: true,
75
+ * directiveIsRepeatable: true,
76
+ * schemaDescription: true,
77
+ * inputValueDeprecation: true,
78
+ * experimentalDirectiveDeprecation: true,
79
+ * oneOf: true,
80
+ * typeDepth: 3,
81
+ * });
82
+ *
83
+ * query; // does not match /description/
84
+ * query; // matches /specifiedByURL/
85
+ * query; // matches /isRepeatable/
86
+ * query; // matches /includeDeprecated: true/
87
+ * query; // matches /isOneOf/
88
+ * (query.match(/ofType/g)?.length ?? 0) > 0; // => true
89
+ * ```
52
90
  */
53
91
  export declare function getIntrospectionQuery(
54
92
  options?: IntrospectionOptions,
55
93
  ): string;
94
+ /** The result shape returned by a full introspection query. */
56
95
  export interface IntrospectionQuery {
96
+ /** The schema. */
57
97
  readonly __schema: IntrospectionSchema;
58
98
  }
99
+ /** The introspection representation of a GraphQL schema. */
59
100
  export interface IntrospectionSchema {
101
+ /** Human-readable description for this schema element, if provided. */
60
102
  readonly description?: Maybe<string>;
103
+ /** The root object type used for query operations. */
61
104
  readonly queryType: IntrospectionNamedTypeRef<IntrospectionObjectType>;
105
+ /** The root object type used for mutation operations, if supported. */
62
106
  readonly mutationType: Maybe<
63
107
  IntrospectionNamedTypeRef<IntrospectionObjectType>
64
108
  >;
109
+ /** The root object type used for subscription operations, if supported. */
65
110
  readonly subscriptionType: Maybe<
66
111
  IntrospectionNamedTypeRef<IntrospectionObjectType>
67
112
  >;
113
+ /** Object types that belong to this union type. */
68
114
  readonly types: ReadonlyArray<IntrospectionType>;
115
+ /** Directives available in this schema or applied to this AST node. */
69
116
  readonly directives: ReadonlyArray<IntrospectionDirective>;
70
117
  }
118
+ /** Any introspection representation of a GraphQL type. */
71
119
  export declare type IntrospectionType =
72
120
  | IntrospectionScalarType
73
121
  | IntrospectionObjectType
@@ -75,82 +123,132 @@ export declare type IntrospectionType =
75
123
  | IntrospectionUnionType
76
124
  | IntrospectionEnumType
77
125
  | IntrospectionInputObjectType;
126
+ /** An introspection type that can appear in output position. */
78
127
  export declare type IntrospectionOutputType =
79
128
  | IntrospectionScalarType
80
129
  | IntrospectionObjectType
81
130
  | IntrospectionInterfaceType
82
131
  | IntrospectionUnionType
83
132
  | IntrospectionEnumType;
133
+ /** An introspection type that can appear in input position. */
84
134
  export declare type IntrospectionInputType =
85
135
  | IntrospectionScalarType
86
136
  | IntrospectionEnumType
87
137
  | IntrospectionInputObjectType;
138
+ /** The introspection representation of a scalar type. */
88
139
  export interface IntrospectionScalarType {
140
+ /** The introspection kind discriminator for this type reference or type. */
89
141
  readonly kind: 'SCALAR';
142
+ /** The GraphQL name for this schema element. */
90
143
  readonly name: string;
144
+ /** Human-readable description for this schema element, if provided. */
91
145
  readonly description?: Maybe<string>;
146
+ /** URL identifying the behavior specified for this custom scalar. */
92
147
  readonly specifiedByURL?: Maybe<string>;
93
148
  }
149
+ /** The introspection representation of an object type. */
94
150
  export interface IntrospectionObjectType {
151
+ /** The introspection kind discriminator for this type reference or type. */
95
152
  readonly kind: 'OBJECT';
153
+ /** The GraphQL name for this schema element. */
96
154
  readonly name: string;
155
+ /** Human-readable description for this schema element, if provided. */
97
156
  readonly description?: Maybe<string>;
157
+ /** Fields declared by this object, interface, input object, or literal. */
98
158
  readonly fields: ReadonlyArray<IntrospectionField>;
159
+ /** Interfaces implemented by this object or interface type. */
99
160
  readonly interfaces: ReadonlyArray<
100
161
  IntrospectionNamedTypeRef<IntrospectionInterfaceType>
101
162
  >;
102
163
  }
164
+ /** The introspection representation of an interface type. */
103
165
  export interface IntrospectionInterfaceType {
166
+ /** The introspection kind discriminator for this type reference or type. */
104
167
  readonly kind: 'INTERFACE';
168
+ /** The GraphQL name for this schema element. */
105
169
  readonly name: string;
170
+ /** Human-readable description for this schema element, if provided. */
106
171
  readonly description?: Maybe<string>;
172
+ /** Fields declared by this object, interface, input object, or literal. */
107
173
  readonly fields: ReadonlyArray<IntrospectionField>;
174
+ /** Interfaces implemented by this object or interface type. */
108
175
  readonly interfaces: ReadonlyArray<
109
176
  IntrospectionNamedTypeRef<IntrospectionInterfaceType>
110
177
  >;
178
+ /** Object types that may be returned for this abstract type. */
111
179
  readonly possibleTypes: ReadonlyArray<
112
180
  IntrospectionNamedTypeRef<IntrospectionObjectType>
113
181
  >;
114
182
  }
183
+ /** The introspection representation of a union type. */
115
184
  export interface IntrospectionUnionType {
185
+ /** The introspection kind discriminator for this type reference or type. */
116
186
  readonly kind: 'UNION';
187
+ /** The GraphQL name for this schema element. */
117
188
  readonly name: string;
189
+ /** Human-readable description for this schema element, if provided. */
118
190
  readonly description?: Maybe<string>;
191
+ /** Object types that may be returned for this abstract type. */
119
192
  readonly possibleTypes: ReadonlyArray<
120
193
  IntrospectionNamedTypeRef<IntrospectionObjectType>
121
194
  >;
122
195
  }
196
+ /** The introspection representation of an enum type. */
123
197
  export interface IntrospectionEnumType {
198
+ /** The introspection kind discriminator for this type reference or type. */
124
199
  readonly kind: 'ENUM';
200
+ /** The GraphQL name for this schema element. */
125
201
  readonly name: string;
202
+ /** Human-readable description for this schema element, if provided. */
126
203
  readonly description?: Maybe<string>;
204
+ /** Values declared by this enum type. */
127
205
  readonly enumValues: ReadonlyArray<IntrospectionEnumValue>;
128
206
  }
207
+ /** The introspection representation of an input object type. */
129
208
  export interface IntrospectionInputObjectType {
209
+ /** The introspection kind discriminator for this type reference or type. */
130
210
  readonly kind: 'INPUT_OBJECT';
211
+ /** The GraphQL name for this schema element. */
131
212
  readonly name: string;
213
+ /** Human-readable description for this schema element, if provided. */
132
214
  readonly description?: Maybe<string>;
215
+ /** Input fields declared by this input object type. */
133
216
  readonly inputFields: ReadonlyArray<IntrospectionInputValue>;
217
+ /** Whether this input object uses the experimental OneOf input object semantics. */
134
218
  readonly isOneOf: boolean;
135
219
  }
220
+ /**
221
+ * The introspection representation of a list type reference.
222
+ * @typeParam T - The introspection type reference wrapped by this list type reference.
223
+ */
136
224
  export interface IntrospectionListTypeRef<
137
225
  T extends IntrospectionTypeRef = IntrospectionTypeRef,
138
226
  > {
227
+ /** The introspection kind discriminator for this type reference or type. */
139
228
  readonly kind: 'LIST';
229
+ /** The type wrapped by this list or non-null type. */
140
230
  readonly ofType: T;
141
231
  }
232
+ /**
233
+ * The introspection representation of a non-null type reference.
234
+ * @typeParam T - The introspection type reference wrapped by this non-null type reference.
235
+ */
142
236
  export interface IntrospectionNonNullTypeRef<
143
237
  T extends IntrospectionTypeRef = IntrospectionTypeRef,
144
238
  > {
239
+ /** The introspection kind discriminator for this type reference or type. */
145
240
  readonly kind: 'NON_NULL';
241
+ /** The type wrapped by this list or non-null type. */
146
242
  readonly ofType: T;
147
243
  }
244
+ /** Any introspection representation of a type reference. */
148
245
  export declare type IntrospectionTypeRef =
149
246
  | IntrospectionNamedTypeRef
150
247
  | IntrospectionListTypeRef
151
248
  | IntrospectionNonNullTypeRef<
152
249
  IntrospectionNamedTypeRef | IntrospectionListTypeRef
153
250
  >;
251
+ /** An introspection type reference that can appear in output position. */
154
252
  export declare type IntrospectionOutputTypeRef =
155
253
  | IntrospectionNamedTypeRef<IntrospectionOutputType>
156
254
  | IntrospectionListTypeRef<IntrospectionOutputTypeRef>
@@ -158,6 +256,7 @@ export declare type IntrospectionOutputTypeRef =
158
256
  | IntrospectionNamedTypeRef<IntrospectionOutputType>
159
257
  | IntrospectionListTypeRef<IntrospectionOutputTypeRef>
160
258
  >;
259
+ /** An introspection type reference that can appear in input position. */
161
260
  export declare type IntrospectionInputTypeRef =
162
261
  | IntrospectionNamedTypeRef<IntrospectionInputType>
163
262
  | IntrospectionListTypeRef<IntrospectionInputTypeRef>
@@ -165,40 +264,73 @@ export declare type IntrospectionInputTypeRef =
165
264
  | IntrospectionNamedTypeRef<IntrospectionInputType>
166
265
  | IntrospectionListTypeRef<IntrospectionInputTypeRef>
167
266
  >;
267
+ /**
268
+ * The introspection representation of a named type reference.
269
+ * @typeParam T - The introspection type represented by this named type reference.
270
+ */
168
271
  export interface IntrospectionNamedTypeRef<
169
272
  T extends IntrospectionType = IntrospectionType,
170
273
  > {
274
+ /** The introspection kind discriminator for this type reference or type. */
171
275
  readonly kind: T['kind'];
276
+ /** The GraphQL name for this schema element. */
172
277
  readonly name: string;
173
278
  }
279
+ /** The introspection representation of a field. */
174
280
  export interface IntrospectionField {
281
+ /** The GraphQL name for this schema element. */
175
282
  readonly name: string;
283
+ /** Human-readable description for this schema element, if provided. */
176
284
  readonly description?: Maybe<string>;
285
+ /** Arguments accepted by this field or directive. */
177
286
  readonly args: ReadonlyArray<IntrospectionInputValue>;
287
+ /** The GraphQL type reference or runtime type for this element. */
178
288
  readonly type: IntrospectionOutputTypeRef;
289
+ /** Whether this field, argument, enum value, or input value is deprecated. */
179
290
  readonly isDeprecated: boolean;
291
+ /** Reason this element is deprecated, if one was provided. */
180
292
  readonly deprecationReason: Maybe<string>;
181
293
  }
294
+ /** The introspection representation of an argument or input field. */
182
295
  export interface IntrospectionInputValue {
296
+ /** The GraphQL name for this schema element. */
183
297
  readonly name: string;
298
+ /** Human-readable description for this schema element, if provided. */
184
299
  readonly description?: Maybe<string>;
300
+ /** The GraphQL type reference or runtime type for this element. */
185
301
  readonly type: IntrospectionInputTypeRef;
302
+ /** Default value used when no explicit value is supplied. */
186
303
  readonly defaultValue: Maybe<string>;
304
+ /** Whether this field, argument, enum value, or input value is deprecated. */
187
305
  readonly isDeprecated?: boolean;
306
+ /** Reason this element is deprecated, if one was provided. */
188
307
  readonly deprecationReason?: Maybe<string>;
189
308
  }
309
+ /** The introspection representation of an enum value. */
190
310
  export interface IntrospectionEnumValue {
311
+ /** The GraphQL name for this schema element. */
191
312
  readonly name: string;
313
+ /** Human-readable description for this schema element, if provided. */
192
314
  readonly description?: Maybe<string>;
315
+ /** Whether this field, argument, enum value, or input value is deprecated. */
193
316
  readonly isDeprecated: boolean;
317
+ /** Reason this element is deprecated, if one was provided. */
194
318
  readonly deprecationReason: Maybe<string>;
195
319
  }
320
+ /** The introspection representation of a directive. */
196
321
  export interface IntrospectionDirective {
322
+ /** The GraphQL name for this schema element. */
197
323
  readonly name: string;
324
+ /** Human-readable description for this schema element, if provided. */
198
325
  readonly description?: Maybe<string>;
326
+ /** Whether this directive may appear more than once at the same location. */
199
327
  readonly isRepeatable?: boolean;
328
+ /** Whether this field, argument, enum value, or input value is deprecated. */
200
329
  readonly isDeprecated?: boolean;
330
+ /** Reason this element is deprecated, if one was provided. */
201
331
  readonly deprecationReason?: Maybe<string>;
332
+ /** Locations where this directive may be applied. */
202
333
  readonly locations: ReadonlyArray<DirectiveLocation>;
334
+ /** Arguments accepted by this field or directive. */
203
335
  readonly args: ReadonlyArray<IntrospectionInputValue>;
204
336
  }
@@ -5,9 +5,49 @@ Object.defineProperty(exports, '__esModule', {
5
5
  });
6
6
  exports.getIntrospectionQuery = getIntrospectionQuery;
7
7
 
8
+ /** @category Introspection */
9
+
10
+ /** Options controlling which fields are included in the introspection query. */
11
+
8
12
  /**
9
13
  * Produce the GraphQL query recommended for a full schema introspection.
10
14
  * Accepts optional IntrospectionOptions.
15
+ * @param options - Optional configuration for this operation.
16
+ * @returns The resolved introspection query.
17
+ * @example
18
+ * ```ts
19
+ * // Generate the default introspection query.
20
+ * import { getIntrospectionQuery } from 'graphql/utilities';
21
+ *
22
+ * const query = getIntrospectionQuery();
23
+ *
24
+ * query; // matches /__schema/
25
+ * query; // matches /description/
26
+ * query; // does not match /specifiedByURL/
27
+ * ```
28
+ * @example
29
+ * ```ts
30
+ * // This variant customizes optional introspection fields and nesting depth.
31
+ * import { getIntrospectionQuery } from 'graphql/utilities';
32
+ *
33
+ * const query = getIntrospectionQuery({
34
+ * descriptions: false,
35
+ * specifiedByUrl: true,
36
+ * directiveIsRepeatable: true,
37
+ * schemaDescription: true,
38
+ * inputValueDeprecation: true,
39
+ * experimentalDirectiveDeprecation: true,
40
+ * oneOf: true,
41
+ * typeDepth: 3,
42
+ * });
43
+ *
44
+ * query; // does not match /description/
45
+ * query; // matches /specifiedByURL/
46
+ * query; // matches /isRepeatable/
47
+ * query; // matches /includeDeprecated: true/
48
+ * query; // matches /isOneOf/
49
+ * (query.match(/ofType/g)?.length ?? 0) > 0; // => true
50
+ * ```
11
51
  */
12
52
  function getIntrospectionQuery(options) {
13
53
  const optionsWithDefault = {
@@ -136,3 +176,4 @@ ${indent}}`;
136
176
  }
137
177
  `;
138
178
  }
179
+ /** The result shape returned by a full introspection query. */
@@ -1,6 +1,46 @@
1
+ /** @category Introspection */
2
+
3
+ /** Options controlling which fields are included in the introspection query. */
4
+
1
5
  /**
2
6
  * Produce the GraphQL query recommended for a full schema introspection.
3
7
  * Accepts optional IntrospectionOptions.
8
+ * @param options - Optional configuration for this operation.
9
+ * @returns The resolved introspection query.
10
+ * @example
11
+ * ```ts
12
+ * // Generate the default introspection query.
13
+ * import { getIntrospectionQuery } from 'graphql/utilities';
14
+ *
15
+ * const query = getIntrospectionQuery();
16
+ *
17
+ * query; // matches /__schema/
18
+ * query; // matches /description/
19
+ * query; // does not match /specifiedByURL/
20
+ * ```
21
+ * @example
22
+ * ```ts
23
+ * // This variant customizes optional introspection fields and nesting depth.
24
+ * import { getIntrospectionQuery } from 'graphql/utilities';
25
+ *
26
+ * const query = getIntrospectionQuery({
27
+ * descriptions: false,
28
+ * specifiedByUrl: true,
29
+ * directiveIsRepeatable: true,
30
+ * schemaDescription: true,
31
+ * inputValueDeprecation: true,
32
+ * experimentalDirectiveDeprecation: true,
33
+ * oneOf: true,
34
+ * typeDepth: 3,
35
+ * });
36
+ *
37
+ * query; // does not match /description/
38
+ * query; // matches /specifiedByURL/
39
+ * query; // matches /isRepeatable/
40
+ * query; // matches /includeDeprecated: true/
41
+ * query; // matches /isOneOf/
42
+ * (query.match(/ofType/g)?.length ?? 0) > 0; // => true
43
+ * ```
4
44
  */
5
45
  export function getIntrospectionQuery(options) {
6
46
  const optionsWithDefault = {
@@ -129,3 +169,4 @@ ${indent}}`;
129
169
  }
130
170
  `;
131
171
  }
172
+ /** The result shape returned by a full introspection query. */
@@ -1,9 +1,24 @@
1
+ /** @category Operations */
1
2
  import type { Maybe } from '../jsutils/Maybe';
2
3
  import type { DocumentNode, OperationDefinitionNode } from '../language/ast';
3
4
  /**
4
5
  * Returns an operation AST given a document AST and optionally an operation
5
6
  * name. If a name is not provided, an operation is only returned if only one is
6
7
  * provided in the document.
8
+ * @param documentAST - The parsed GraphQL document AST.
9
+ * @param operationName - The optional operation name to select.
10
+ * @returns The resolved operation ast.
11
+ * @example
12
+ * ```ts
13
+ * import { parse } from 'graphql/language';
14
+ * import { getOperationAST } from 'graphql/utilities';
15
+ *
16
+ * const document = parse('query GetName { name }');
17
+ * const operation = getOperationAST(document, 'GetName');
18
+ *
19
+ * operation.name.value; // => 'GetName'
20
+ * getOperationAST(document, 'Missing'); // => undefined
21
+ * ```
7
22
  */
8
23
  export declare function getOperationAST(
9
24
  documentAST: DocumentNode,
@@ -7,10 +7,26 @@ exports.getOperationAST = getOperationAST;
7
7
 
8
8
  var _kinds = require('../language/kinds.js');
9
9
 
10
+ /** @category Operations */
11
+
10
12
  /**
11
13
  * Returns an operation AST given a document AST and optionally an operation
12
14
  * name. If a name is not provided, an operation is only returned if only one is
13
15
  * provided in the document.
16
+ * @param documentAST - The parsed GraphQL document AST.
17
+ * @param operationName - The optional operation name to select.
18
+ * @returns The resolved operation ast.
19
+ * @example
20
+ * ```ts
21
+ * import { parse } from 'graphql/language';
22
+ * import { getOperationAST } from 'graphql/utilities';
23
+ *
24
+ * const document = parse('query GetName { name }');
25
+ * const operation = getOperationAST(document, 'GetName');
26
+ *
27
+ * operation.name.value; // => 'GetName'
28
+ * getOperationAST(document, 'Missing'); // => undefined
29
+ * ```
14
30
  */
15
31
  function getOperationAST(documentAST, operationName) {
16
32
  let operation = null;
@@ -1,8 +1,23 @@
1
+ /** @category Operations */
1
2
  import { Kind } from '../language/kinds.mjs';
2
3
  /**
3
4
  * Returns an operation AST given a document AST and optionally an operation
4
5
  * name. If a name is not provided, an operation is only returned if only one is
5
6
  * provided in the document.
7
+ * @param documentAST - The parsed GraphQL document AST.
8
+ * @param operationName - The optional operation name to select.
9
+ * @returns The resolved operation ast.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { getOperationAST } from 'graphql/utilities';
14
+ *
15
+ * const document = parse('query GetName { name }');
16
+ * const operation = getOperationAST(document, 'GetName');
17
+ *
18
+ * operation.name.value; // => 'GetName'
19
+ * getOperationAST(document, 'Missing'); // => undefined
20
+ * ```
6
21
  */
7
22
 
8
23
  export function getOperationAST(documentAST, operationName) {
@@ -1,3 +1,4 @@
1
+ /** @category Operations */
1
2
  import type {
2
3
  OperationDefinitionNode,
3
4
  OperationTypeDefinitionNode,
@@ -5,8 +6,24 @@ import type {
5
6
  import type { GraphQLObjectType } from '../type/definition';
6
7
  import type { GraphQLSchema } from '../type/schema';
7
8
  /**
8
- * Extracts the root type of the operation from the schema.
9
+ * Extracts the root type of the operation from the schema. This deprecated
10
+ * helper is retained for backwards compatibility; call
11
+ * `GraphQLSchema.getRootType` instead because getOperationRootType will be
12
+ * removed in v17.
13
+ * @param schema - GraphQL schema to use.
14
+ * @param operation - The operation definition to inspect.
15
+ * @returns The resolved operation root type.
16
+ * @example
17
+ * ```ts
18
+ * import { buildSchema, getOperationRootType } from 'graphql/utilities';
19
+ * import { parse } from 'graphql/language';
9
20
  *
21
+ * const schema = buildSchema('type Query { name: String }');
22
+ * const operation = parse('{ name }').definitions[0];
23
+ * const rootType = getOperationRootType(schema, operation);
24
+ *
25
+ * rootType.name; // => 'Query'
26
+ * ```
10
27
  * @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17
11
28
  */
12
29
  export declare function getOperationRootType(
@@ -7,9 +7,27 @@ exports.getOperationRootType = getOperationRootType;
7
7
 
8
8
  var _GraphQLError = require('../error/GraphQLError.js');
9
9
 
10
+ /** @category Operations */
11
+
10
12
  /**
11
- * Extracts the root type of the operation from the schema.
13
+ * Extracts the root type of the operation from the schema. This deprecated
14
+ * helper is retained for backwards compatibility; call
15
+ * `GraphQLSchema.getRootType` instead because getOperationRootType will be
16
+ * removed in v17.
17
+ * @param schema - GraphQL schema to use.
18
+ * @param operation - The operation definition to inspect.
19
+ * @returns The resolved operation root type.
20
+ * @example
21
+ * ```ts
22
+ * import { buildSchema, getOperationRootType } from 'graphql/utilities';
23
+ * import { parse } from 'graphql/language';
24
+ *
25
+ * const schema = buildSchema('type Query { name: String }');
26
+ * const operation = parse('{ name }').definitions[0];
27
+ * const rootType = getOperationRootType(schema, operation);
12
28
  *
29
+ * rootType.name; // => 'Query'
30
+ * ```
13
31
  * @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17
14
32
  */
15
33
  function getOperationRootType(schema, operation) {
@@ -1,8 +1,25 @@
1
+ /** @category Operations */
1
2
  import { GraphQLError } from '../error/GraphQLError.mjs';
2
3
 
3
4
  /**
4
- * Extracts the root type of the operation from the schema.
5
+ * Extracts the root type of the operation from the schema. This deprecated
6
+ * helper is retained for backwards compatibility; call
7
+ * `GraphQLSchema.getRootType` instead because getOperationRootType will be
8
+ * removed in v17.
9
+ * @param schema - GraphQL schema to use.
10
+ * @param operation - The operation definition to inspect.
11
+ * @returns The resolved operation root type.
12
+ * @example
13
+ * ```ts
14
+ * import { buildSchema, getOperationRootType } from 'graphql/utilities';
15
+ * import { parse } from 'graphql/language';
5
16
  *
17
+ * const schema = buildSchema('type Query { name: String }');
18
+ * const operation = parse('{ name }').definitions[0];
19
+ * const rootType = getOperationRootType(schema, operation);
20
+ *
21
+ * rootType.name; // => 'Query'
22
+ * ```
6
23
  * @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17
7
24
  */
8
25
  export function getOperationRootType(schema, operation) {
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Utilities for building schemas, working with introspection, transforming ASTs,
3
+ * and comparing GraphQL types.
4
+ *
5
+ * These exports are also available from the root `graphql` package.
6
+ * @packageDocumentation
7
+ */
1
8
  export { getIntrospectionQuery } from './getIntrospectionQuery';
2
9
  export type {
3
10
  IntrospectionOptions,