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 Coordinates */
1
2
  import type { SchemaCoordinateNode } from '../language/ast';
2
3
  import type { Source } from '../language/source';
3
4
  import type {
@@ -15,41 +16,50 @@ import type { GraphQLDirective } from '../type/directives';
15
16
  import type { GraphQLSchema } from '../type/schema';
16
17
  /**
17
18
  * A resolved schema element may be one of the following kinds:
19
+ *
20
+ * @internal
18
21
  */
19
22
  export interface ResolvedNamedType {
20
23
  readonly kind: 'NamedType';
21
24
  readonly type: GraphQLNamedType;
22
25
  }
26
+ /** @internal */
23
27
  export interface ResolvedField {
24
28
  readonly kind: 'Field';
25
29
  readonly type: GraphQLObjectType | GraphQLInterfaceType;
26
30
  readonly field: GraphQLField<unknown, unknown>;
27
31
  }
32
+ /** @internal */
28
33
  export interface ResolvedInputField {
29
34
  readonly kind: 'InputField';
30
35
  readonly type: GraphQLInputObjectType;
31
36
  readonly inputField: GraphQLInputField;
32
37
  }
38
+ /** @internal */
33
39
  export interface ResolvedEnumValue {
34
40
  readonly kind: 'EnumValue';
35
41
  readonly type: GraphQLEnumType;
36
42
  readonly enumValue: GraphQLEnumValue;
37
43
  }
44
+ /** @internal */
38
45
  export interface ResolvedFieldArgument {
39
46
  readonly kind: 'FieldArgument';
40
47
  readonly type: GraphQLObjectType | GraphQLInterfaceType;
41
48
  readonly field: GraphQLField<unknown, unknown>;
42
49
  readonly fieldArgument: GraphQLArgument;
43
50
  }
51
+ /** @internal */
44
52
  export interface ResolvedDirective {
45
53
  readonly kind: 'Directive';
46
54
  readonly directive: GraphQLDirective;
47
55
  }
56
+ /** @internal */
48
57
  export interface ResolvedDirectiveArgument {
49
58
  readonly kind: 'DirectiveArgument';
50
59
  readonly directive: GraphQLDirective;
51
60
  readonly directiveArgument: GraphQLArgument;
52
61
  }
62
+ /** A schema element resolved from a schema coordinate. */
53
63
  export declare type ResolvedSchemaElement =
54
64
  | ResolvedNamedType
55
65
  | ResolvedField
@@ -66,6 +76,38 @@ export declare type ResolvedSchemaElement =
66
76
  * applicable) does not exist.
67
77
  *
68
78
  * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
79
+ * @param schema - GraphQL schema to use.
80
+ * @param schemaCoordinate - The schema coordinate to resolve.
81
+ * @returns The schema element identified by the coordinate, or undefined if none exists.
82
+ * @example
83
+ * ```ts
84
+ * import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';
85
+ *
86
+ * const schema = buildSchema(`
87
+ * directive @tag(name: String!) on FIELD_DEFINITION
88
+ *
89
+ * input ReviewInput {
90
+ * stars: Int!
91
+ * }
92
+ *
93
+ * enum Episode {
94
+ * NEW_HOPE
95
+ * }
96
+ *
97
+ * type Query {
98
+ * reviews(input: ReviewInput): [String] @tag(name: "reviews")
99
+ * }
100
+ * `);
101
+ *
102
+ * resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'
103
+ * resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'
104
+ * resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'
105
+ * resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'
106
+ * resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'
107
+ * resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'
108
+ * resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'
109
+ * resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined
110
+ * ```
69
111
  */
70
112
  export declare function resolveSchemaCoordinate(
71
113
  schema: GraphQLSchema,
@@ -73,6 +115,26 @@ export declare function resolveSchemaCoordinate(
73
115
  ): ResolvedSchemaElement | undefined;
74
116
  /**
75
117
  * Resolves schema coordinate from a parsed SchemaCoordinate node.
118
+ * @param schema - GraphQL schema to use.
119
+ * @param schemaCoordinate - The schema coordinate to resolve.
120
+ * @returns The schema element identified by the parsed coordinate, or undefined if none exists.
121
+ * @example
122
+ * ```ts
123
+ * import { parseSchemaCoordinate } from 'graphql/language';
124
+ * import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';
125
+ *
126
+ * const schema = buildSchema(`
127
+ * type Query {
128
+ * greeting(name: String): String
129
+ * }
130
+ * `);
131
+ * const coordinate = parseSchemaCoordinate('Query.greeting(name:)');
132
+ * const resolved = resolveASTSchemaCoordinate(schema, coordinate);
133
+ *
134
+ * resolved.kind; // => 'FieldArgument'
135
+ * resolved.field.name; // => 'greeting'
136
+ * resolved.fieldArgument.name; // => 'name'
137
+ * ```
76
138
  */
77
139
  export declare function resolveASTSchemaCoordinate(
78
140
  schema: GraphQLSchema,
@@ -14,6 +14,8 @@ var _parser = require('../language/parser.js');
14
14
 
15
15
  var _definition = require('../type/definition.js');
16
16
 
17
+ /** @category Schema Coordinates */
18
+
17
19
  /**
18
20
  * A schema coordinate is resolved in the context of a GraphQL schema to
19
21
  * uniquely identify a schema element. It returns undefined if the schema
@@ -22,6 +24,38 @@ var _definition = require('../type/definition.js');
22
24
  * applicable) does not exist.
23
25
  *
24
26
  * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
27
+ * @param schema - GraphQL schema to use.
28
+ * @param schemaCoordinate - The schema coordinate to resolve.
29
+ * @returns The schema element identified by the coordinate, or undefined if none exists.
30
+ * @example
31
+ * ```ts
32
+ * import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';
33
+ *
34
+ * const schema = buildSchema(`
35
+ * directive @tag(name: String!) on FIELD_DEFINITION
36
+ *
37
+ * input ReviewInput {
38
+ * stars: Int!
39
+ * }
40
+ *
41
+ * enum Episode {
42
+ * NEW_HOPE
43
+ * }
44
+ *
45
+ * type Query {
46
+ * reviews(input: ReviewInput): [String] @tag(name: "reviews")
47
+ * }
48
+ * `);
49
+ *
50
+ * resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'
51
+ * resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'
52
+ * resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'
53
+ * resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'
54
+ * resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'
55
+ * resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'
56
+ * resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'
57
+ * resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined
58
+ * ```
25
59
  */
26
60
  function resolveSchemaCoordinate(schema, schemaCoordinate) {
27
61
  return resolveASTSchemaCoordinate(
@@ -31,6 +65,8 @@ function resolveSchemaCoordinate(schema, schemaCoordinate) {
31
65
  }
32
66
  /**
33
67
  * TypeCoordinate : Name
68
+ *
69
+ * @internal
34
70
  */
35
71
 
36
72
  function resolveTypeCoordinate(schema, schemaCoordinate) {
@@ -49,6 +85,8 @@ function resolveTypeCoordinate(schema, schemaCoordinate) {
49
85
  }
50
86
  /**
51
87
  * MemberCoordinate : Name . Name
88
+ *
89
+ * @internal
52
90
  */
53
91
 
54
92
  function resolveMemberCoordinate(schema, schemaCoordinate) {
@@ -126,6 +164,8 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
126
164
  }
127
165
  /**
128
166
  * ArgumentCoordinate : Name . Name ( Name : )
167
+ *
168
+ * @internal
129
169
  */
130
170
 
131
171
  function resolveArgumentCoordinate(schema, schemaCoordinate) {
@@ -185,6 +225,8 @@ function resolveArgumentCoordinate(schema, schemaCoordinate) {
185
225
  }
186
226
  /**
187
227
  * DirectiveCoordinate : \@ Name
228
+ *
229
+ * @internal
188
230
  */
189
231
 
190
232
  function resolveDirectiveCoordinate(schema, schemaCoordinate) {
@@ -203,6 +245,8 @@ function resolveDirectiveCoordinate(schema, schemaCoordinate) {
203
245
  }
204
246
  /**
205
247
  * DirectiveArgumentCoordinate : \@ Name ( Name : )
248
+ *
249
+ * @internal
206
250
  */
207
251
 
208
252
  function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
@@ -238,6 +282,26 @@ function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
238
282
  }
239
283
  /**
240
284
  * Resolves schema coordinate from a parsed SchemaCoordinate node.
285
+ * @param schema - GraphQL schema to use.
286
+ * @param schemaCoordinate - The schema coordinate to resolve.
287
+ * @returns The schema element identified by the parsed coordinate, or undefined if none exists.
288
+ * @example
289
+ * ```ts
290
+ * import { parseSchemaCoordinate } from 'graphql/language';
291
+ * import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';
292
+ *
293
+ * const schema = buildSchema(`
294
+ * type Query {
295
+ * greeting(name: String): String
296
+ * }
297
+ * `);
298
+ * const coordinate = parseSchemaCoordinate('Query.greeting(name:)');
299
+ * const resolved = resolveASTSchemaCoordinate(schema, coordinate);
300
+ *
301
+ * resolved.kind; // => 'FieldArgument'
302
+ * resolved.field.name; // => 'greeting'
303
+ * resolved.fieldArgument.name; // => 'name'
304
+ * ```
241
305
  */
242
306
 
243
307
  function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
@@ -1,3 +1,4 @@
1
+ /** @category Schema Coordinates */
1
2
  import { inspect } from '../jsutils/inspect.mjs';
2
3
  import { Kind } from '../language/kinds.mjs';
3
4
  import { parseSchemaCoordinate } from '../language/parser.mjs';
@@ -16,6 +17,38 @@ import {
16
17
  * applicable) does not exist.
17
18
  *
18
19
  * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
20
+ * @param schema - GraphQL schema to use.
21
+ * @param schemaCoordinate - The schema coordinate to resolve.
22
+ * @returns The schema element identified by the coordinate, or undefined if none exists.
23
+ * @example
24
+ * ```ts
25
+ * import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';
26
+ *
27
+ * const schema = buildSchema(`
28
+ * directive @tag(name: String!) on FIELD_DEFINITION
29
+ *
30
+ * input ReviewInput {
31
+ * stars: Int!
32
+ * }
33
+ *
34
+ * enum Episode {
35
+ * NEW_HOPE
36
+ * }
37
+ *
38
+ * type Query {
39
+ * reviews(input: ReviewInput): [String] @tag(name: "reviews")
40
+ * }
41
+ * `);
42
+ *
43
+ * resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'
44
+ * resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'
45
+ * resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'
46
+ * resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'
47
+ * resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'
48
+ * resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'
49
+ * resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'
50
+ * resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined
51
+ * ```
19
52
  */
20
53
  export function resolveSchemaCoordinate(schema, schemaCoordinate) {
21
54
  return resolveASTSchemaCoordinate(
@@ -25,6 +58,8 @@ export function resolveSchemaCoordinate(schema, schemaCoordinate) {
25
58
  }
26
59
  /**
27
60
  * TypeCoordinate : Name
61
+ *
62
+ * @internal
28
63
  */
29
64
 
30
65
  function resolveTypeCoordinate(schema, schemaCoordinate) {
@@ -43,6 +78,8 @@ function resolveTypeCoordinate(schema, schemaCoordinate) {
43
78
  }
44
79
  /**
45
80
  * MemberCoordinate : Name . Name
81
+ *
82
+ * @internal
46
83
  */
47
84
 
48
85
  function resolveMemberCoordinate(schema, schemaCoordinate) {
@@ -118,6 +155,8 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
118
155
  }
119
156
  /**
120
157
  * ArgumentCoordinate : Name . Name ( Name : )
158
+ *
159
+ * @internal
121
160
  */
122
161
 
123
162
  function resolveArgumentCoordinate(schema, schemaCoordinate) {
@@ -168,6 +207,8 @@ function resolveArgumentCoordinate(schema, schemaCoordinate) {
168
207
  }
169
208
  /**
170
209
  * DirectiveCoordinate : \@ Name
210
+ *
211
+ * @internal
171
212
  */
172
213
 
173
214
  function resolveDirectiveCoordinate(schema, schemaCoordinate) {
@@ -186,6 +227,8 @@ function resolveDirectiveCoordinate(schema, schemaCoordinate) {
186
227
  }
187
228
  /**
188
229
  * DirectiveArgumentCoordinate : \@ Name ( Name : )
230
+ *
231
+ * @internal
189
232
  */
190
233
 
191
234
  function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
@@ -221,6 +264,26 @@ function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
221
264
  }
222
265
  /**
223
266
  * Resolves schema coordinate from a parsed SchemaCoordinate node.
267
+ * @param schema - GraphQL schema to use.
268
+ * @param schemaCoordinate - The schema coordinate to resolve.
269
+ * @returns The schema element identified by the parsed coordinate, or undefined if none exists.
270
+ * @example
271
+ * ```ts
272
+ * import { parseSchemaCoordinate } from 'graphql/language';
273
+ * import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';
274
+ *
275
+ * const schema = buildSchema(`
276
+ * type Query {
277
+ * greeting(name: String): String
278
+ * }
279
+ * `);
280
+ * const coordinate = parseSchemaCoordinate('Query.greeting(name:)');
281
+ * const resolved = resolveASTSchemaCoordinate(schema, coordinate);
282
+ *
283
+ * resolved.kind; // => 'FieldArgument'
284
+ * resolved.field.name; // => 'greeting'
285
+ * resolved.fieldArgument.name; // => 'name'
286
+ * ```
224
287
  */
225
288
 
226
289
  export function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
@@ -1,3 +1,4 @@
1
+ /** @category AST Utilities */
1
2
  import type { ObjMap } from '../jsutils/ObjMap';
2
3
  import type { DocumentNode } from '../language/ast';
3
4
  /**
@@ -5,6 +6,35 @@ import type { DocumentNode } from '../language/ast';
5
6
  * operations and fragments and returns a collection of AST documents each of
6
7
  * which contains a single operation as well the fragment definitions it
7
8
  * refers to.
9
+ * @param documentAST - The parsed GraphQL document AST.
10
+ * @returns A map of operation names to documents containing each operation and its referenced fragments.
11
+ * @example
12
+ * ```ts
13
+ * import { parse, print } from 'graphql/language';
14
+ * import { separateOperations } from 'graphql/utilities';
15
+ *
16
+ * const document = parse(`
17
+ * query GetUser {
18
+ * viewer {
19
+ * ...UserFields
20
+ * }
21
+ * }
22
+ *
23
+ * query GetStatus {
24
+ * status
25
+ * }
26
+ *
27
+ * fragment UserFields on User {
28
+ * id
29
+ * }
30
+ * `);
31
+ *
32
+ * const separated = separateOperations(document);
33
+ *
34
+ * Object.keys(separated); // => ['GetUser', 'GetStatus']
35
+ * print(separated.GetUser); // matches /fragment UserFields/
36
+ * print(separated.GetStatus); // does not match /fragment UserFields/
37
+ * ```
8
38
  */
9
39
  export declare function separateOperations(
10
40
  documentAST: DocumentNode,
@@ -9,11 +9,42 @@ var _kinds = require('../language/kinds.js');
9
9
 
10
10
  var _visitor = require('../language/visitor.js');
11
11
 
12
+ /** @category AST Utilities */
13
+
12
14
  /**
13
15
  * separateOperations accepts a single AST document which may contain many
14
16
  * operations and fragments and returns a collection of AST documents each of
15
17
  * which contains a single operation as well the fragment definitions it
16
18
  * refers to.
19
+ * @param documentAST - The parsed GraphQL document AST.
20
+ * @returns A map of operation names to documents containing each operation and its referenced fragments.
21
+ * @example
22
+ * ```ts
23
+ * import { parse, print } from 'graphql/language';
24
+ * import { separateOperations } from 'graphql/utilities';
25
+ *
26
+ * const document = parse(`
27
+ * query GetUser {
28
+ * viewer {
29
+ * ...UserFields
30
+ * }
31
+ * }
32
+ *
33
+ * query GetStatus {
34
+ * status
35
+ * }
36
+ *
37
+ * fragment UserFields on User {
38
+ * id
39
+ * }
40
+ * `);
41
+ *
42
+ * const separated = separateOperations(document);
43
+ *
44
+ * Object.keys(separated); // => ['GetUser', 'GetStatus']
45
+ * print(separated.GetUser); // matches /fragment UserFields/
46
+ * print(separated.GetStatus); // does not match /fragment UserFields/
47
+ * ```
17
48
  */
18
49
  function separateOperations(documentAST) {
19
50
  const operations = [];
@@ -1,3 +1,4 @@
1
+ /** @category AST Utilities */
1
2
  import { Kind } from '../language/kinds.mjs';
2
3
  import { visit } from '../language/visitor.mjs';
3
4
  /**
@@ -5,6 +6,35 @@ import { visit } from '../language/visitor.mjs';
5
6
  * operations and fragments and returns a collection of AST documents each of
6
7
  * which contains a single operation as well the fragment definitions it
7
8
  * refers to.
9
+ * @param documentAST - The parsed GraphQL document AST.
10
+ * @returns A map of operation names to documents containing each operation and its referenced fragments.
11
+ * @example
12
+ * ```ts
13
+ * import { parse, print } from 'graphql/language';
14
+ * import { separateOperations } from 'graphql/utilities';
15
+ *
16
+ * const document = parse(`
17
+ * query GetUser {
18
+ * viewer {
19
+ * ...UserFields
20
+ * }
21
+ * }
22
+ *
23
+ * query GetStatus {
24
+ * status
25
+ * }
26
+ *
27
+ * fragment UserFields on User {
28
+ * id
29
+ * }
30
+ * `);
31
+ *
32
+ * const separated = separateOperations(document);
33
+ *
34
+ * Object.keys(separated); // => ['GetUser', 'GetStatus']
35
+ * print(separated.GetUser); // matches /fragment UserFields/
36
+ * print(separated.GetStatus); // does not match /fragment UserFields/
37
+ * ```
8
38
  */
9
39
 
10
40
  export function separateOperations(documentAST) {
@@ -1,3 +1,4 @@
1
+ /** @category AST Utilities */
1
2
  import { Source } from '../language/source';
2
3
  /**
3
4
  * Strips characters that are not significant to the validity or execution
@@ -18,9 +19,9 @@ import { Source } from '../language/source';
18
19
  * Warning: It is guaranteed that this function will always produce stable results.
19
20
  * However, it's not guaranteed that it will stay the same between different
20
21
  * releases due to bugfixes or changes in the GraphQL specification.
21
- *
22
- * Query example:
23
- *
22
+ * @param source - The GraphQL source text or source object.
23
+ * @returns A semantically equivalent GraphQL source string without ignored characters.
24
+ * @example Query source
24
25
  * ```graphql
25
26
  * query SomeQuery($foo: String!, $bar: String) {
26
27
  * someField(foo: $foo, bar: $bar) {
@@ -38,9 +39,7 @@ import { Source } from '../language/source';
38
39
  * ```graphql
39
40
  * query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
40
41
  * ```
41
- *
42
- * SDL example:
43
- *
42
+ * @example SDL source
44
43
  * ```graphql
45
44
  * """
46
45
  * Type description
@@ -58,5 +57,13 @@ import { Source } from '../language/source';
58
57
  * ```graphql
59
58
  * """Type description""" type Foo{"""Field description""" bar:String}
60
59
  * ```
60
+ * @example
61
+ * ```ts
62
+ * import { stripIgnoredCharacters } from 'graphql/utilities';
63
+ *
64
+ * const source = stripIgnoredCharacters('query Example { name }');
65
+ *
66
+ * source; // => 'query Example{name}'
67
+ * ```
61
68
  */
62
69
  export declare function stripIgnoredCharacters(source: string | Source): string;
@@ -13,6 +13,8 @@ var _source = require('../language/source.js');
13
13
 
14
14
  var _tokenKind = require('../language/tokenKind.js');
15
15
 
16
+ /** @category AST Utilities */
17
+
16
18
  /**
17
19
  * Strips characters that are not significant to the validity or execution
18
20
  * of a GraphQL document:
@@ -32,9 +34,9 @@ var _tokenKind = require('../language/tokenKind.js');
32
34
  * Warning: It is guaranteed that this function will always produce stable results.
33
35
  * However, it's not guaranteed that it will stay the same between different
34
36
  * releases due to bugfixes or changes in the GraphQL specification.
35
- *
36
- * Query example:
37
- *
37
+ * @param source - The GraphQL source text or source object.
38
+ * @returns A semantically equivalent GraphQL source string without ignored characters.
39
+ * @example Query source
38
40
  * ```graphql
39
41
  * query SomeQuery($foo: String!, $bar: String) {
40
42
  * someField(foo: $foo, bar: $bar) {
@@ -52,9 +54,7 @@ var _tokenKind = require('../language/tokenKind.js');
52
54
  * ```graphql
53
55
  * query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
54
56
  * ```
55
- *
56
- * SDL example:
57
- *
57
+ * @example SDL source
58
58
  * ```graphql
59
59
  * """
60
60
  * Type description
@@ -72,6 +72,14 @@ var _tokenKind = require('../language/tokenKind.js');
72
72
  * ```graphql
73
73
  * """Type description""" type Foo{"""Field description""" bar:String}
74
74
  * ```
75
+ * @example
76
+ * ```ts
77
+ * import { stripIgnoredCharacters } from 'graphql/utilities';
78
+ *
79
+ * const source = stripIgnoredCharacters('query Example { name }');
80
+ *
81
+ * source; // => 'query Example{name}'
82
+ * ```
75
83
  */
76
84
  function stripIgnoredCharacters(source) {
77
85
  const sourceObj = (0, _source.isSource)(source)
@@ -89,6 +97,8 @@ function stripIgnoredCharacters(source) {
89
97
  * Every two non-punctuator tokens should have space between them.
90
98
  * Also prevent case of non-punctuator token following by spread resulting
91
99
  * in invalid token (e.g. `1...` is invalid Float token).
100
+ *
101
+ * @internal
92
102
  */
93
103
 
94
104
  const isNonPunctuator = !(0, _lexer.isPunctuatorTokenKind)(
@@ -1,3 +1,4 @@
1
+ /** @category AST Utilities */
1
2
  import { printBlockString } from '../language/blockString.mjs';
2
3
  import { isPunctuatorTokenKind, Lexer } from '../language/lexer.mjs';
3
4
  import { isSource, Source } from '../language/source.mjs';
@@ -21,9 +22,9 @@ import { TokenKind } from '../language/tokenKind.mjs';
21
22
  * Warning: It is guaranteed that this function will always produce stable results.
22
23
  * However, it's not guaranteed that it will stay the same between different
23
24
  * releases due to bugfixes or changes in the GraphQL specification.
24
- *
25
- * Query example:
26
- *
25
+ * @param source - The GraphQL source text or source object.
26
+ * @returns A semantically equivalent GraphQL source string without ignored characters.
27
+ * @example Query source
27
28
  * ```graphql
28
29
  * query SomeQuery($foo: String!, $bar: String) {
29
30
  * someField(foo: $foo, bar: $bar) {
@@ -41,9 +42,7 @@ import { TokenKind } from '../language/tokenKind.mjs';
41
42
  * ```graphql
42
43
  * query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
43
44
  * ```
44
- *
45
- * SDL example:
46
- *
45
+ * @example SDL source
47
46
  * ```graphql
48
47
  * """
49
48
  * Type description
@@ -61,6 +60,14 @@ import { TokenKind } from '../language/tokenKind.mjs';
61
60
  * ```graphql
62
61
  * """Type description""" type Foo{"""Field description""" bar:String}
63
62
  * ```
63
+ * @example
64
+ * ```ts
65
+ * import { stripIgnoredCharacters } from 'graphql/utilities';
66
+ *
67
+ * const source = stripIgnoredCharacters('query Example { name }');
68
+ *
69
+ * source; // => 'query Example{name}'
70
+ * ```
64
71
  */
65
72
 
66
73
  export function stripIgnoredCharacters(source) {
@@ -77,6 +84,8 @@ export function stripIgnoredCharacters(source) {
77
84
  * Every two non-punctuator tokens should have space between them.
78
85
  * Also prevent case of non-punctuator token following by spread resulting
79
86
  * in invalid token (e.g. `1...` is invalid Float token).
87
+ *
88
+ * @internal
80
89
  */
81
90
 
82
91
  const isNonPunctuator = !isPunctuatorTokenKind(currentToken.kind);