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,12 +1,40 @@
1
+ /** @category Source */
1
2
  import type { Location } from './ast';
2
3
  import type { SourceLocation } from './location';
3
4
  import type { Source } from './source';
4
5
  /**
5
6
  * Render a helpful description of the location in the GraphQL Source document.
7
+ * @param location - The AST location to print.
8
+ * @returns A formatted source excerpt with line and column information.
9
+ * @example
10
+ * ```ts
11
+ * import { parse, printLocation } from 'graphql/language';
12
+ *
13
+ * const document = parse('type Query { hello: String }');
14
+ * const location = document.definitions[0].loc;
15
+ *
16
+ * if (location) {
17
+ * const printed = printLocation(location);
18
+ *
19
+ * printed; // => 'GraphQL request:1:1\n1 | type Query { hello: String }\n | ^'
20
+ * }
21
+ * ```
6
22
  */
7
23
  export declare function printLocation(location: Location): string;
8
24
  /**
9
25
  * Render a helpful description of the location in the GraphQL Source document.
26
+ * @param source - The source document that contains the location.
27
+ * @param sourceLocation - The 1-indexed line and column to print.
28
+ * @returns A formatted source excerpt with line and column information.
29
+ * @example
30
+ * ```ts
31
+ * import { Source, printSourceLocation } from 'graphql/language';
32
+ *
33
+ * const source = new Source('type Query { hello: String }');
34
+ * const printed = printSourceLocation(source, { line: 1, column: 14 });
35
+ *
36
+ * printed; // => 'GraphQL request:1:14\n1 | type Query { hello: String }\n | ^'
37
+ * ```
10
38
  */
11
39
  export declare function printSourceLocation(
12
40
  source: Source,
@@ -8,8 +8,25 @@ exports.printSourceLocation = printSourceLocation;
8
8
 
9
9
  var _location = require('./location.js');
10
10
 
11
+ /** @category Source */
12
+
11
13
  /**
12
14
  * Render a helpful description of the location in the GraphQL Source document.
15
+ * @param location - The AST location to print.
16
+ * @returns A formatted source excerpt with line and column information.
17
+ * @example
18
+ * ```ts
19
+ * import { parse, printLocation } from 'graphql/language';
20
+ *
21
+ * const document = parse('type Query { hello: String }');
22
+ * const location = document.definitions[0].loc;
23
+ *
24
+ * if (location) {
25
+ * const printed = printLocation(location);
26
+ *
27
+ * printed; // => 'GraphQL request:1:1\n1 | type Query { hello: String }\n | ^'
28
+ * }
29
+ * ```
13
30
  */
14
31
  function printLocation(location) {
15
32
  return printSourceLocation(
@@ -19,6 +36,18 @@ function printLocation(location) {
19
36
  }
20
37
  /**
21
38
  * Render a helpful description of the location in the GraphQL Source document.
39
+ * @param source - The source document that contains the location.
40
+ * @param sourceLocation - The 1-indexed line and column to print.
41
+ * @returns A formatted source excerpt with line and column information.
42
+ * @example
43
+ * ```ts
44
+ * import { Source, printSourceLocation } from 'graphql/language';
45
+ *
46
+ * const source = new Source('type Query { hello: String }');
47
+ * const printed = printSourceLocation(source, { line: 1, column: 14 });
48
+ *
49
+ * printed; // => 'GraphQL request:1:14\n1 | type Query { hello: String }\n | ^'
50
+ * ```
22
51
  */
23
52
 
24
53
  function printSourceLocation(source, sourceLocation) {
@@ -1,7 +1,23 @@
1
+ /** @category Source */
1
2
  import { getLocation } from './location.mjs';
2
3
 
3
4
  /**
4
5
  * Render a helpful description of the location in the GraphQL Source document.
6
+ * @param location - The AST location to print.
7
+ * @returns A formatted source excerpt with line and column information.
8
+ * @example
9
+ * ```ts
10
+ * import { parse, printLocation } from 'graphql/language';
11
+ *
12
+ * const document = parse('type Query { hello: String }');
13
+ * const location = document.definitions[0].loc;
14
+ *
15
+ * if (location) {
16
+ * const printed = printLocation(location);
17
+ *
18
+ * printed; // => 'GraphQL request:1:1\n1 | type Query { hello: String }\n | ^'
19
+ * }
20
+ * ```
5
21
  */
6
22
  export function printLocation(location) {
7
23
  return printSourceLocation(
@@ -11,6 +27,18 @@ export function printLocation(location) {
11
27
  }
12
28
  /**
13
29
  * Render a helpful description of the location in the GraphQL Source document.
30
+ * @param source - The source document that contains the location.
31
+ * @param sourceLocation - The 1-indexed line and column to print.
32
+ * @returns A formatted source excerpt with line and column information.
33
+ * @example
34
+ * ```ts
35
+ * import { Source, printSourceLocation } from 'graphql/language';
36
+ *
37
+ * const source = new Source('type Query { hello: String }');
38
+ * const printed = printSourceLocation(source, { line: 1, column: 14 });
39
+ *
40
+ * printed; // => 'GraphQL request:1:14\n1 | type Query { hello: String }\n | ^'
41
+ * ```
14
42
  */
15
43
 
16
44
  export function printSourceLocation(source, sourceLocation) {
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Prints a string as a GraphQL StringValue literal. Replaces control characters
3
3
  * and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
4
+ *
5
+ * @internal
4
6
  */
5
7
  export declare function printString(str: string): string;
@@ -8,10 +8,14 @@ exports.printString = printString;
8
8
  /**
9
9
  * Prints a string as a GraphQL StringValue literal. Replaces control characters
10
10
  * and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
11
+ *
12
+ * @internal
11
13
  */
12
14
  function printString(str) {
13
15
  return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
14
- } // eslint-disable-next-line no-control-regex
16
+ }
17
+ /** @internal */
18
+ // eslint-disable-next-line no-control-regex
15
19
 
16
20
  const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
17
21
 
@@ -1,10 +1,14 @@
1
1
  /**
2
2
  * Prints a string as a GraphQL StringValue literal. Replaces control characters
3
3
  * and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
4
+ *
5
+ * @internal
4
6
  */
5
7
  export function printString(str) {
6
8
  return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
7
- } // eslint-disable-next-line no-control-regex
9
+ }
10
+ /** @internal */
11
+ // eslint-disable-next-line no-control-regex
8
12
 
9
13
  const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
10
14
 
@@ -1,6 +1,18 @@
1
+ /** @category Printing */
1
2
  import type { ASTNode } from './ast';
2
3
  /**
3
4
  * Converts an AST into a string, using one set of reasonable
4
5
  * formatting rules.
6
+ * @param ast - The GraphQL AST node to print.
7
+ * @returns A stable string representation of the AST.
8
+ * @example
9
+ * ```ts
10
+ * import { parse, print } from 'graphql';
11
+ *
12
+ * const ast = parse('{ hero { name } }');
13
+ * const text = print(ast);
14
+ *
15
+ * text; // => '{\n hero {\n name\n }\n}'
16
+ * ```
5
17
  */
6
18
  export declare function print(ast: ASTNode): string;
@@ -11,9 +11,22 @@ var _printString = require('./printString.js');
11
11
 
12
12
  var _visitor = require('./visitor.js');
13
13
 
14
+ /** @category Printing */
15
+
14
16
  /**
15
17
  * Converts an AST into a string, using one set of reasonable
16
18
  * formatting rules.
19
+ * @param ast - The GraphQL AST node to print.
20
+ * @returns A stable string representation of the AST.
21
+ * @example
22
+ * ```ts
23
+ * import { parse, print } from 'graphql';
24
+ *
25
+ * const ast = parse('{ hero { name } }');
26
+ * const text = print(ast);
27
+ *
28
+ * text; // => '{\n hero {\n name\n }\n}'
29
+ * ```
17
30
  */
18
31
  function print(ast) {
19
32
  return (0, _visitor.visit)(ast, printDocASTReducer);
@@ -342,6 +355,8 @@ const printDocASTReducer = {
342
355
  /**
343
356
  * Given maybeArray, print an empty string if it is null or empty, otherwise
344
357
  * print all items together separated by separator if provided
358
+ *
359
+ * @internal
345
360
  */
346
361
 
347
362
  function join(maybeArray, separator = '') {
@@ -357,6 +372,8 @@ function join(maybeArray, separator = '') {
357
372
  }
358
373
  /**
359
374
  * Given array, print each item on its own line, wrapped in an indented `{ }` block.
375
+ *
376
+ * @internal
360
377
  */
361
378
 
362
379
  function block(array) {
@@ -364,6 +381,8 @@ function block(array) {
364
381
  }
365
382
  /**
366
383
  * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
384
+ *
385
+ * @internal
367
386
  */
368
387
 
369
388
  function wrap(start, maybeString, end = '') {
@@ -1,9 +1,21 @@
1
+ /** @category Printing */
1
2
  import { printBlockString } from './blockString.mjs';
2
3
  import { printString } from './printString.mjs';
3
4
  import { visit } from './visitor.mjs';
4
5
  /**
5
6
  * Converts an AST into a string, using one set of reasonable
6
7
  * formatting rules.
8
+ * @param ast - The GraphQL AST node to print.
9
+ * @returns A stable string representation of the AST.
10
+ * @example
11
+ * ```ts
12
+ * import { parse, print } from 'graphql';
13
+ *
14
+ * const ast = parse('{ hero { name } }');
15
+ * const text = print(ast);
16
+ *
17
+ * text; // => '{\n hero {\n name\n }\n}'
18
+ * ```
7
19
  */
8
20
 
9
21
  export function print(ast) {
@@ -330,6 +342,8 @@ const printDocASTReducer = {
330
342
  /**
331
343
  * Given maybeArray, print an empty string if it is null or empty, otherwise
332
344
  * print all items together separated by separator if provided
345
+ *
346
+ * @internal
333
347
  */
334
348
 
335
349
  function join(maybeArray, separator = '') {
@@ -345,6 +359,8 @@ function join(maybeArray, separator = '') {
345
359
  }
346
360
  /**
347
361
  * Given array, print each item on its own line, wrapped in an indented `{ }` block.
362
+ *
363
+ * @internal
348
364
  */
349
365
 
350
366
  function block(array) {
@@ -352,6 +368,8 @@ function block(array) {
352
368
  }
353
369
  /**
354
370
  * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
371
+ *
372
+ * @internal
355
373
  */
356
374
 
357
375
  function wrap(start, maybeString, end = '') {
@@ -8,16 +8,14 @@ import type { Source } from './source';
8
8
  * source lexes, the final Token emitted by the lexer will be of kind
9
9
  * EOF, after which the lexer will repeatedly return the same EOF token
10
10
  * whenever called.
11
+ *
12
+ * @internal
11
13
  */
12
14
  export declare class SchemaCoordinateLexer implements LexerInterface {
13
15
  source: Source;
14
- /**
15
- * The previously focused non-ignored token.
16
- */
16
+ /** The previously focused non-ignored token. */
17
17
  lastToken: Token;
18
- /**
19
- * The currently focused non-ignored token.
20
- */
18
+ /** The currently focused non-ignored token. */
21
19
  token: Token;
22
20
  /**
23
21
  * The (1-indexed) line containing the current token.
@@ -33,11 +31,15 @@ export declare class SchemaCoordinateLexer implements LexerInterface {
33
31
  get [Symbol.toStringTag](): string;
34
32
  /**
35
33
  * Advances the token stream to the next non-ignored token.
34
+ *
35
+ * @internal
36
36
  */
37
37
  advance(): Token;
38
38
  /**
39
39
  * Looks ahead and returns the next non-ignored token, but does not change
40
40
  * the current Lexer token.
41
+ *
42
+ * @internal
41
43
  */
42
44
  lookahead(): Token;
43
45
  }
@@ -22,15 +22,13 @@ var _tokenKind = require('./tokenKind.js');
22
22
  * source lexes, the final Token emitted by the lexer will be of kind
23
23
  * EOF, after which the lexer will repeatedly return the same EOF token
24
24
  * whenever called.
25
+ *
26
+ * @internal
25
27
  */
26
28
  class SchemaCoordinateLexer {
27
- /**
28
- * The previously focused non-ignored token.
29
- */
29
+ /** The previously focused non-ignored token. */
30
30
 
31
- /**
32
- * The currently focused non-ignored token.
33
- */
31
+ /** The currently focused non-ignored token. */
34
32
 
35
33
  /**
36
34
  * The (1-indexed) line containing the current token.
@@ -62,6 +60,8 @@ class SchemaCoordinateLexer {
62
60
  }
63
61
  /**
64
62
  * Advances the token stream to the next non-ignored token.
63
+ *
64
+ * @internal
65
65
  */
66
66
 
67
67
  advance() {
@@ -72,6 +72,8 @@ class SchemaCoordinateLexer {
72
72
  /**
73
73
  * Looks ahead and returns the next non-ignored token, but does not change
74
74
  * the current Lexer token.
75
+ *
76
+ * @internal
75
77
  */
76
78
 
77
79
  lookahead() {
@@ -92,6 +94,8 @@ class SchemaCoordinateLexer {
92
94
  }
93
95
  /**
94
96
  * Gets the next token from the source starting at the given position.
97
+ *
98
+ * @internal
95
99
  */
96
100
 
97
101
  exports.SchemaCoordinateLexer = SchemaCoordinateLexer;
@@ -10,16 +10,14 @@ import { TokenKind } from './tokenKind.mjs';
10
10
  * source lexes, the final Token emitted by the lexer will be of kind
11
11
  * EOF, after which the lexer will repeatedly return the same EOF token
12
12
  * whenever called.
13
+ *
14
+ * @internal
13
15
  */
14
16
 
15
17
  export class SchemaCoordinateLexer {
16
- /**
17
- * The previously focused non-ignored token.
18
- */
18
+ /** The previously focused non-ignored token. */
19
19
 
20
- /**
21
- * The currently focused non-ignored token.
22
- */
20
+ /** The currently focused non-ignored token. */
23
21
 
24
22
  /**
25
23
  * The (1-indexed) line containing the current token.
@@ -45,6 +43,8 @@ export class SchemaCoordinateLexer {
45
43
  }
46
44
  /**
47
45
  * Advances the token stream to the next non-ignored token.
46
+ *
47
+ * @internal
48
48
  */
49
49
 
50
50
  advance() {
@@ -55,6 +55,8 @@ export class SchemaCoordinateLexer {
55
55
  /**
56
56
  * Looks ahead and returns the next non-ignored token, but does not change
57
57
  * the current Lexer token.
58
+ *
59
+ * @internal
58
60
  */
59
61
 
60
62
  lookahead() {
@@ -75,6 +77,8 @@ export class SchemaCoordinateLexer {
75
77
  }
76
78
  /**
77
79
  * Gets the next token from the source starting at the given position.
80
+ *
81
+ * @internal
78
82
  */
79
83
 
80
84
  function readNextToken(lexer, start) {
@@ -1,3 +1,4 @@
1
+ /** @category Source */
1
2
  interface Location {
2
3
  line: number;
3
4
  column: number;
@@ -10,10 +11,37 @@ interface Location {
10
11
  * The `line` and `column` properties in `locationOffset` are 1-indexed.
11
12
  */
12
13
  export declare class Source {
14
+ /** The GraphQL source text. */
13
15
  body: string;
16
+ /** Name used in diagnostics for this source, such as a file path or request name. */
14
17
  name: string;
18
+ /** One-indexed line and column where this source begins. */
15
19
  locationOffset: Location;
20
+ /**
21
+ * Creates a Source instance.
22
+ * @param body - The GraphQL source text.
23
+ * @param name - Name used in diagnostics for this source.
24
+ * @param locationOffset - One-indexed line and column where this source begins.
25
+ * @example
26
+ * ```ts
27
+ * import { Source } from 'graphql/language';
28
+ *
29
+ * const source = new Source(
30
+ * 'type Query { greeting: String }',
31
+ * 'schema.graphql',
32
+ * { line: 10, column: 1 },
33
+ * );
34
+ *
35
+ * source.body; // => 'type Query { greeting: String }'
36
+ * source.name; // => 'schema.graphql'
37
+ * source.locationOffset; // => { line: 10, column: 1 }
38
+ * ```
39
+ */
16
40
  constructor(body: string, name?: string, locationOffset?: Location);
41
+ /**
42
+ * Returns the value used by `Object.prototype.toString`.
43
+ * @returns The built-in string tag for this object.
44
+ */
17
45
  get [Symbol.toStringTag](): string;
18
46
  }
19
47
  /**
@@ -12,6 +12,8 @@ var _inspect = require('../jsutils/inspect.js');
12
12
 
13
13
  var _instanceOf = require('../jsutils/instanceOf.js');
14
14
 
15
+ /** @category Source */
16
+
15
17
  /**
16
18
  * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
17
19
  * optional, but they are useful for clients who store GraphQL documents in source files.
@@ -20,6 +22,32 @@ var _instanceOf = require('../jsutils/instanceOf.js');
20
22
  * The `line` and `column` properties in `locationOffset` are 1-indexed.
21
23
  */
22
24
  class Source {
25
+ /** The GraphQL source text. */
26
+
27
+ /** Name used in diagnostics for this source, such as a file path or request name. */
28
+
29
+ /** One-indexed line and column where this source begins. */
30
+
31
+ /**
32
+ * Creates a Source instance.
33
+ * @param body - The GraphQL source text.
34
+ * @param name - Name used in diagnostics for this source.
35
+ * @param locationOffset - One-indexed line and column where this source begins.
36
+ * @example
37
+ * ```ts
38
+ * import { Source } from 'graphql/language';
39
+ *
40
+ * const source = new Source(
41
+ * 'type Query { greeting: String }',
42
+ * 'schema.graphql',
43
+ * { line: 10, column: 1 },
44
+ * );
45
+ *
46
+ * source.body; // => 'type Query { greeting: String }'
47
+ * source.name; // => 'schema.graphql'
48
+ * source.locationOffset; // => { line: 10, column: 1 }
49
+ * ```
50
+ */
23
51
  constructor(
24
52
  body,
25
53
  name = 'GraphQL request',
@@ -47,6 +75,10 @@ class Source {
47
75
  'column in locationOffset is 1-indexed and must be positive.',
48
76
  );
49
77
  }
78
+ /**
79
+ * Returns the value used by `Object.prototype.toString`.
80
+ * @returns The built-in string tag for this object.
81
+ */
50
82
 
51
83
  get [Symbol.toStringTag]() {
52
84
  return 'Source';
@@ -1,3 +1,4 @@
1
+ /** @category Source */
1
2
  import { devAssert } from '../jsutils/devAssert.mjs';
2
3
  import { inspect } from '../jsutils/inspect.mjs';
3
4
  import { instanceOf } from '../jsutils/instanceOf.mjs';
@@ -10,6 +11,32 @@ import { instanceOf } from '../jsutils/instanceOf.mjs';
10
11
  * The `line` and `column` properties in `locationOffset` are 1-indexed.
11
12
  */
12
13
  export class Source {
14
+ /** The GraphQL source text. */
15
+
16
+ /** Name used in diagnostics for this source, such as a file path or request name. */
17
+
18
+ /** One-indexed line and column where this source begins. */
19
+
20
+ /**
21
+ * Creates a Source instance.
22
+ * @param body - The GraphQL source text.
23
+ * @param name - Name used in diagnostics for this source.
24
+ * @param locationOffset - One-indexed line and column where this source begins.
25
+ * @example
26
+ * ```ts
27
+ * import { Source } from 'graphql/language';
28
+ *
29
+ * const source = new Source(
30
+ * 'type Query { greeting: String }',
31
+ * 'schema.graphql',
32
+ * { line: 10, column: 1 },
33
+ * );
34
+ *
35
+ * source.body; // => 'type Query { greeting: String }'
36
+ * source.name; // => 'schema.graphql'
37
+ * source.locationOffset; // => { line: 10, column: 1 }
38
+ * ```
39
+ */
13
40
  constructor(
14
41
  body,
15
42
  name = 'GraphQL request',
@@ -34,6 +61,10 @@ export class Source {
34
61
  'column in locationOffset is 1-indexed and must be positive.',
35
62
  );
36
63
  }
64
+ /**
65
+ * Returns the value used by `Object.prototype.toString`.
66
+ * @returns The built-in string tag for this object.
67
+ */
37
68
 
38
69
  get [Symbol.toStringTag]() {
39
70
  return 'Source';
@@ -1,36 +1,63 @@
1
+ /** @category Lexing */
1
2
  /**
2
3
  * An exported enum describing the different kinds of tokens that the
3
4
  * lexer emits.
4
5
  */
5
6
  declare enum TokenKind {
7
+ /** Start-of-file token. */
6
8
  SOF = '<SOF>',
9
+ /** End-of-file token. */
7
10
  EOF = '<EOF>',
11
+ /** The `!` punctuation token. */
8
12
  BANG = '!',
13
+ /** The `$` punctuation token. */
9
14
  DOLLAR = '$',
15
+ /** The `&` punctuation token. */
10
16
  AMP = '&',
17
+ /** The `(` punctuation token. */
11
18
  PAREN_L = '(',
19
+ /** The `)` punctuation token. */
12
20
  PAREN_R = ')',
21
+ /** The `.` punctuation token. */
13
22
  DOT = '.',
23
+ /** The `...` spread punctuation token. */
14
24
  SPREAD = '...',
25
+ /** The `:` punctuation token. */
15
26
  COLON = ':',
27
+ /** The `=` punctuation token. */
16
28
  EQUALS = '=',
29
+ /** The `@` punctuation token. */
17
30
  AT = '@',
31
+ /** The `[` punctuation token. */
18
32
  BRACKET_L = '[',
33
+ /** The `]` punctuation token. */
19
34
  BRACKET_R = ']',
35
+ /** The `{` punctuation token. */
20
36
  BRACE_L = '{',
37
+ /** The `|` punctuation token. */
21
38
  PIPE = '|',
39
+ /** The `}` punctuation token. */
22
40
  BRACE_R = '}',
41
+ /** A GraphQL name token or name AST node. */
23
42
  NAME = 'Name',
43
+ /** An integer value token or AST node. */
24
44
  INT = 'Int',
45
+ /** A floating-point value token or AST node. */
25
46
  FLOAT = 'Float',
47
+ /** A string value token or AST node. */
26
48
  STRING = 'String',
49
+ /** A block string value token. */
27
50
  BLOCK_STRING = 'BlockString',
51
+ /** A comment token. */
28
52
  COMMENT = 'Comment',
29
53
  }
30
54
  export { TokenKind };
31
55
  /**
32
- * The enum type representing the token kinds values.
33
- *
34
- * @deprecated Please use `TokenKind`. Will be remove in v17.
56
+ * Deprecated legacy alias for the enum type representing token kind values.
57
+ * This alias will be removed in v17. In v17, `TokenKind` is exported as the
58
+ * single public symbol for both the runtime object and the corresponding
59
+ * TypeScript type.
60
+ * @deprecated Will be removed in v17. In v17, use `TokenKind` as both the
61
+ * runtime value and the type.
35
62
  */
36
63
  export declare type TokenKindEnum = typeof TokenKind;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, '__esModule', {
5
5
  });
6
6
  exports.TokenKind = void 0;
7
7
 
8
+ /** @category Lexing */
9
+
8
10
  /**
9
11
  * An exported enum describing the different kinds of tokens that the
10
12
  * lexer emits.
@@ -38,7 +40,10 @@ exports.TokenKind = TokenKind;
38
40
  TokenKind['COMMENT'] = 'Comment';
39
41
  })(TokenKind || (exports.TokenKind = TokenKind = {}));
40
42
  /**
41
- * The enum type representing the token kinds values.
42
- *
43
- * @deprecated Please use `TokenKind`. Will be remove in v17.
43
+ * Deprecated legacy alias for the enum type representing token kind values.
44
+ * This alias will be removed in v17. In v17, `TokenKind` is exported as the
45
+ * single public symbol for both the runtime object and the corresponding
46
+ * TypeScript type.
47
+ * @deprecated Will be removed in v17. In v17, use `TokenKind` as both the
48
+ * runtime value and the type.
44
49
  */
@@ -1,3 +1,5 @@
1
+ /** @category Lexing */
2
+
1
3
  /**
2
4
  * An exported enum describing the different kinds of tokens that the
3
5
  * lexer emits.
@@ -32,7 +34,10 @@ var TokenKind;
32
34
 
33
35
  export { TokenKind };
34
36
  /**
35
- * The enum type representing the token kinds values.
36
- *
37
- * @deprecated Please use `TokenKind`. Will be remove in v17.
37
+ * Deprecated legacy alias for the enum type representing token kind values.
38
+ * This alias will be removed in v17. In v17, `TokenKind` is exported as the
39
+ * single public symbol for both the runtime object and the corresponding
40
+ * TypeScript type.
41
+ * @deprecated Will be removed in v17. In v17, use `TokenKind` as both the
42
+ * runtime value and the type.
38
43
  */