graphql 17.0.0-beta.1 → 17.0.0-beta.2

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 (1176) hide show
  1. package/__dev__/devMode.d.ts +1 -1
  2. package/__dev__/error/GraphQLError.d.ts +1 -1
  3. package/__dev__/error/ensureGraphQLError.d.ts +1 -1
  4. package/__dev__/error/index.d.ts +1 -1
  5. package/__dev__/error/locatedError.d.ts +1 -1
  6. package/__dev__/error/syntaxError.d.ts +1 -1
  7. package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -1
  8. package/__dev__/execution/AsyncWorkTracker.d.ts +1 -1
  9. package/__dev__/execution/ExecutionArgs.d.mts +1 -0
  10. package/__dev__/execution/ExecutionArgs.d.ts +1 -0
  11. package/__dev__/execution/ExecutionArgs.js +3 -0
  12. package/__dev__/execution/ExecutionArgs.mjs +3 -0
  13. package/__dev__/execution/Executor.d.ts +1 -1
  14. package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -1
  15. package/__dev__/execution/buildResolveInfo.d.ts +1 -1
  16. package/__dev__/execution/cancellablePromise.d.ts +1 -1
  17. package/__dev__/execution/collectFields.d.ts +1 -1
  18. package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
  19. package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
  20. package/__dev__/execution/execute.d.ts +1 -1
  21. package/__dev__/execution/getStreamUsage.d.ts +1 -1
  22. package/__dev__/execution/getVariableSignature.d.ts +1 -1
  23. package/__dev__/execution/hooks.d.ts +1 -1
  24. package/__dev__/execution/incremental/Computation.d.ts +1 -1
  25. package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
  26. package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
  27. package/__dev__/execution/incremental/Queue.d.ts +1 -1
  28. package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
  29. package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
  30. package/__dev__/execution/index.d.ts +1 -1
  31. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
  32. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
  33. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
  34. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
  35. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
  36. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
  37. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
  38. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
  39. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
  40. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
  41. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
  42. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
  43. package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
  44. package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
  45. package/__dev__/execution/values.d.ts +1 -1
  46. package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
  47. package/__dev__/graphql.d.ts +1 -1
  48. package/__dev__/harness.d.ts +1 -1
  49. package/__dev__/index.d.ts +1 -1
  50. package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
  51. package/__dev__/jsutils/Maybe.d.ts +1 -1
  52. package/__dev__/jsutils/ObjMap.d.ts +1 -1
  53. package/__dev__/jsutils/Path.d.ts +1 -1
  54. package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
  55. package/__dev__/jsutils/capitalize.d.ts +1 -1
  56. package/__dev__/jsutils/devAssert.d.ts +1 -1
  57. package/__dev__/jsutils/didYouMean.d.ts +1 -1
  58. package/__dev__/jsutils/formatList.d.ts +1 -1
  59. package/__dev__/jsutils/getBySet.d.ts +1 -1
  60. package/__dev__/jsutils/groupBy.d.ts +1 -1
  61. package/__dev__/jsutils/identityFunc.d.ts +1 -1
  62. package/__dev__/jsutils/inspect.d.ts +1 -1
  63. package/__dev__/jsutils/instanceOf.d.ts +1 -1
  64. package/__dev__/jsutils/invariant.d.ts +1 -1
  65. package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
  66. package/__dev__/jsutils/isIterableObject.d.ts +1 -1
  67. package/__dev__/jsutils/isObjectLike.d.ts +1 -1
  68. package/__dev__/jsutils/isPromise.d.ts +1 -1
  69. package/__dev__/jsutils/isSameSet.d.ts +1 -1
  70. package/__dev__/jsutils/keyMap.d.ts +1 -1
  71. package/__dev__/jsutils/keyValMap.d.ts +1 -1
  72. package/__dev__/jsutils/mapValue.d.ts +1 -1
  73. package/__dev__/jsutils/memoize1.d.ts +1 -1
  74. package/__dev__/jsutils/memoize2.d.ts +1 -1
  75. package/__dev__/jsutils/memoize3.d.ts +1 -1
  76. package/__dev__/jsutils/naturalCompare.d.ts +1 -1
  77. package/__dev__/jsutils/printPathArray.d.ts +1 -1
  78. package/__dev__/jsutils/promiseForObject.d.ts +1 -1
  79. package/__dev__/jsutils/promiseReduce.d.ts +1 -1
  80. package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
  81. package/__dev__/jsutils/suggestionList.d.ts +1 -1
  82. package/__dev__/jsutils/toError.d.ts +1 -1
  83. package/__dev__/jsutils/toObjMap.d.ts +1 -1
  84. package/__dev__/language/KindTypeMap.d.ts +1 -1
  85. package/__dev__/language/ast.d.ts +1 -1
  86. package/__dev__/language/blockString.d.ts +1 -1
  87. package/__dev__/language/characterClasses.d.ts +1 -1
  88. package/__dev__/language/directiveLocation.d.ts +1 -1
  89. package/__dev__/language/index.d.ts +1 -1
  90. package/__dev__/language/kinds.d.ts +1 -1
  91. package/__dev__/language/kinds_.d.ts +1 -1
  92. package/__dev__/language/lexer.d.ts +1 -1
  93. package/__dev__/language/location.d.ts +1 -1
  94. package/__dev__/language/parser.d.ts +1 -1
  95. package/__dev__/language/predicates.d.ts +1 -1
  96. package/__dev__/language/printLocation.d.ts +1 -1
  97. package/__dev__/language/printString.d.ts +1 -1
  98. package/__dev__/language/printer.d.ts +1 -1
  99. package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
  100. package/__dev__/language/source.d.ts +1 -1
  101. package/__dev__/language/tokenKind.d.ts +1 -1
  102. package/__dev__/language/visitor.d.ts +1 -1
  103. package/__dev__/type/assertName.d.ts +1 -1
  104. package/__dev__/type/definition.d.ts +1 -1
  105. package/__dev__/type/directives.d.ts +1 -1
  106. package/__dev__/type/index.d.ts +1 -1
  107. package/__dev__/type/introspection.d.ts +1 -1
  108. package/__dev__/type/scalars.d.ts +1 -1
  109. package/__dev__/type/schema.d.ts +1 -1
  110. package/__dev__/type/validate.d.ts +1 -1
  111. package/__dev__/utilities/TypeInfo.d.ts +1 -1
  112. package/__dev__/utilities/astFromValue.d.ts +1 -1
  113. package/__dev__/utilities/buildASTSchema.d.ts +1 -1
  114. package/__dev__/utilities/buildClientSchema.d.ts +1 -1
  115. package/__dev__/utilities/coerceInputValue.d.ts +1 -1
  116. package/__dev__/utilities/concatAST.d.ts +1 -1
  117. package/__dev__/utilities/extendSchema.d.ts +1 -1
  118. package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
  119. package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
  120. package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
  121. package/__dev__/utilities/getOperationAST.d.ts +1 -1
  122. package/__dev__/utilities/index.d.ts +1 -1
  123. package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
  124. package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
  125. package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
  126. package/__dev__/utilities/printSchema.d.ts +1 -1
  127. package/__dev__/utilities/replaceVariables.d.ts +1 -1
  128. package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
  129. package/__dev__/utilities/separateOperations.d.ts +1 -1
  130. package/__dev__/utilities/sortValueNode.d.ts +1 -1
  131. package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
  132. package/__dev__/utilities/typeComparators.d.ts +1 -1
  133. package/__dev__/utilities/typeFromAST.d.ts +1 -1
  134. package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
  135. package/__dev__/utilities/validateInputValue.d.ts +1 -1
  136. package/__dev__/utilities/valueFromAST.d.ts +1 -1
  137. package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
  138. package/__dev__/utilities/valueToLiteral.d.ts +1 -1
  139. package/__dev__/validation/ValidationContext.d.ts +1 -1
  140. package/__dev__/validation/index.d.ts +1 -1
  141. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
  142. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
  143. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
  144. package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
  145. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
  146. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
  147. package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
  148. package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
  149. package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
  150. package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
  151. package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
  152. package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
  153. package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
  154. package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
  155. package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
  156. package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
  157. package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
  158. package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
  159. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
  160. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
  161. package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
  162. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
  163. package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
  164. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
  165. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
  166. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
  167. package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
  168. package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
  169. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
  170. package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
  171. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
  172. package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
  173. package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
  174. package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
  175. package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
  176. package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
  177. package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
  178. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
  179. package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
  180. package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
  181. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
  182. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
  183. package/__dev__/validation/specifiedRules.d.ts +1 -1
  184. package/__dev__/validation/validate.d.ts +1 -1
  185. package/__dev__/version.d.ts +1 -1
  186. package/devMode.d.mts +29 -0
  187. package/devMode.d.ts +29 -0
  188. package/devMode.js.map +1 -1
  189. package/devMode.mjs.map +1 -1
  190. package/error/GraphQLError.d.mts +94 -10
  191. package/error/GraphQLError.d.ts +94 -10
  192. package/error/GraphQLError.js +11 -20
  193. package/error/GraphQLError.js.map +1 -1
  194. package/error/GraphQLError.mjs +11 -20
  195. package/error/GraphQLError.mjs.map +1 -1
  196. package/error/ensureGraphQLError.d.mts +2 -0
  197. package/error/ensureGraphQLError.d.ts +2 -0
  198. package/error/ensureGraphQLError.js +0 -3
  199. package/error/ensureGraphQLError.js.map +1 -1
  200. package/error/ensureGraphQLError.mjs +0 -3
  201. package/error/ensureGraphQLError.mjs.map +1 -1
  202. package/error/index.d.mts +6 -0
  203. package/error/index.d.ts +6 -0
  204. package/error/index.js.map +1 -1
  205. package/error/index.mjs.map +1 -1
  206. package/error/locatedError.d.mts +20 -0
  207. package/error/locatedError.d.ts +20 -0
  208. package/error/locatedError.js +0 -6
  209. package/error/locatedError.js.map +1 -1
  210. package/error/locatedError.mjs +0 -6
  211. package/error/locatedError.mjs.map +1 -1
  212. package/error/syntaxError.d.mts +15 -0
  213. package/error/syntaxError.d.ts +15 -0
  214. package/error/syntaxError.js +0 -4
  215. package/error/syntaxError.js.map +1 -1
  216. package/error/syntaxError.mjs +0 -4
  217. package/error/syntaxError.mjs.map +1 -1
  218. package/execution/AbortedGraphQLExecutionError.d.mts +27 -0
  219. package/execution/AbortedGraphQLExecutionError.d.ts +27 -0
  220. package/execution/AbortedGraphQLExecutionError.js.map +1 -1
  221. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
  222. package/execution/AsyncWorkTracker.d.mts +1 -1
  223. package/execution/AsyncWorkTracker.d.ts +1 -1
  224. package/execution/AsyncWorkTracker.js +1 -5
  225. package/execution/AsyncWorkTracker.js.map +1 -1
  226. package/execution/AsyncWorkTracker.mjs +1 -5
  227. package/execution/AsyncWorkTracker.mjs.map +1 -1
  228. package/execution/ExecutionArgs.d.mts +101 -0
  229. package/execution/ExecutionArgs.d.ts +101 -0
  230. package/execution/ExecutionArgs.js +3 -0
  231. package/execution/ExecutionArgs.js.map +1 -0
  232. package/execution/ExecutionArgs.mjs +2 -0
  233. package/execution/ExecutionArgs.mjs.map +1 -0
  234. package/execution/Executor.d.mts +44 -40
  235. package/execution/Executor.d.ts +44 -40
  236. package/execution/Executor.js +2 -122
  237. package/execution/Executor.js.map +1 -1
  238. package/execution/Executor.mjs +2 -122
  239. package/execution/Executor.mjs.map +1 -1
  240. package/execution/ExecutorThrowingOnIncremental.js +0 -2
  241. package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
  242. package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
  243. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
  244. package/execution/buildResolveInfo.d.mts +2 -0
  245. package/execution/buildResolveInfo.d.ts +2 -0
  246. package/execution/buildResolveInfo.js +0 -3
  247. package/execution/buildResolveInfo.js.map +1 -1
  248. package/execution/buildResolveInfo.mjs +0 -3
  249. package/execution/buildResolveInfo.mjs.map +1 -1
  250. package/execution/cancellablePromise.d.mts +3 -0
  251. package/execution/cancellablePromise.d.ts +3 -0
  252. package/execution/cancellablePromise.js.map +1 -1
  253. package/execution/cancellablePromise.mjs.map +1 -1
  254. package/execution/collectFields.d.mts +10 -4
  255. package/execution/collectFields.d.ts +10 -4
  256. package/execution/collectFields.js +0 -41
  257. package/execution/collectFields.js.map +1 -1
  258. package/execution/collectFields.mjs +0 -41
  259. package/execution/collectFields.mjs.map +1 -1
  260. package/execution/collectIteratorPromises.d.mts +2 -0
  261. package/execution/collectIteratorPromises.d.ts +2 -0
  262. package/execution/collectIteratorPromises.js +0 -5
  263. package/execution/collectIteratorPromises.js.map +1 -1
  264. package/execution/collectIteratorPromises.mjs +0 -5
  265. package/execution/collectIteratorPromises.mjs.map +1 -1
  266. package/execution/createSharedExecutionContext.d.mts +1 -0
  267. package/execution/createSharedExecutionContext.d.ts +1 -0
  268. package/execution/createSharedExecutionContext.js.map +1 -1
  269. package/execution/createSharedExecutionContext.mjs.map +1 -1
  270. package/execution/execute.d.mts +403 -38
  271. package/execution/execute.d.ts +403 -38
  272. package/execution/execute.js +0 -161
  273. package/execution/execute.js.map +1 -1
  274. package/execution/execute.mjs +0 -161
  275. package/execution/execute.mjs.map +1 -1
  276. package/execution/getStreamUsage.d.mts +4 -1
  277. package/execution/getStreamUsage.d.ts +4 -1
  278. package/execution/getStreamUsage.js +0 -7
  279. package/execution/getStreamUsage.js.map +1 -1
  280. package/execution/getStreamUsage.mjs +0 -7
  281. package/execution/getStreamUsage.mjs.map +1 -1
  282. package/execution/getVariableSignature.d.mts +4 -1
  283. package/execution/getVariableSignature.d.ts +4 -1
  284. package/execution/getVariableSignature.js +0 -2
  285. package/execution/getVariableSignature.js.map +1 -1
  286. package/execution/getVariableSignature.mjs +0 -2
  287. package/execution/getVariableSignature.mjs.map +1 -1
  288. package/execution/hooks.d.mts +3 -7
  289. package/execution/hooks.d.ts +3 -7
  290. package/execution/hooks.js +0 -1
  291. package/execution/hooks.js.map +1 -1
  292. package/execution/hooks.mjs +0 -1
  293. package/execution/hooks.mjs.map +1 -1
  294. package/execution/incremental/Computation.d.mts +1 -1
  295. package/execution/incremental/Computation.d.ts +1 -1
  296. package/execution/incremental/Computation.js +0 -1
  297. package/execution/incremental/Computation.js.map +1 -1
  298. package/execution/incremental/Computation.mjs +0 -1
  299. package/execution/incremental/Computation.mjs.map +1 -1
  300. package/execution/incremental/IncrementalExecutor.d.mts +124 -9
  301. package/execution/incremental/IncrementalExecutor.d.ts +124 -9
  302. package/execution/incremental/IncrementalExecutor.js +1 -31
  303. package/execution/incremental/IncrementalExecutor.js.map +1 -1
  304. package/execution/incremental/IncrementalExecutor.mjs +1 -31
  305. package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
  306. package/execution/incremental/IncrementalPublisher.d.mts +1 -3
  307. package/execution/incremental/IncrementalPublisher.d.ts +1 -3
  308. package/execution/incremental/IncrementalPublisher.js +0 -5
  309. package/execution/incremental/IncrementalPublisher.js.map +1 -1
  310. package/execution/incremental/IncrementalPublisher.mjs +0 -5
  311. package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
  312. package/execution/incremental/Queue.js +3 -64
  313. package/execution/incremental/Queue.js.map +1 -1
  314. package/execution/incremental/Queue.mjs +2 -62
  315. package/execution/incremental/Queue.mjs.map +1 -1
  316. package/execution/incremental/WorkQueue.d.mts +8 -0
  317. package/execution/incremental/WorkQueue.d.ts +8 -0
  318. package/execution/incremental/WorkQueue.js +0 -15
  319. package/execution/incremental/WorkQueue.js.map +1 -1
  320. package/execution/incremental/WorkQueue.mjs +0 -15
  321. package/execution/incremental/WorkQueue.mjs.map +1 -1
  322. package/execution/incremental/buildExecutionPlan.d.mts +3 -0
  323. package/execution/incremental/buildExecutionPlan.d.ts +3 -0
  324. package/execution/incremental/buildExecutionPlan.js.map +1 -1
  325. package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
  326. package/execution/index.d.mts +12 -3
  327. package/execution/index.d.ts +12 -3
  328. package/execution/index.js +4 -1
  329. package/execution/index.js.map +1 -1
  330. package/execution/index.mjs +1 -0
  331. package/execution/index.mjs.map +1 -1
  332. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
  333. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
  334. package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
  335. package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
  336. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
  337. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
  338. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
  339. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
  340. package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
  341. package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
  342. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
  343. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
  344. package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
  345. package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
  346. package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
  347. package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
  348. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
  349. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
  350. package/execution/mapAsyncIterable.d.mts +2 -0
  351. package/execution/mapAsyncIterable.d.ts +2 -0
  352. package/execution/mapAsyncIterable.js +0 -5
  353. package/execution/mapAsyncIterable.js.map +1 -1
  354. package/execution/mapAsyncIterable.mjs +0 -5
  355. package/execution/mapAsyncIterable.mjs.map +1 -1
  356. package/execution/returnIteratorCatchingErrors.d.mts +1 -0
  357. package/execution/returnIteratorCatchingErrors.d.ts +1 -0
  358. package/execution/returnIteratorCatchingErrors.js +0 -1
  359. package/execution/returnIteratorCatchingErrors.js.map +1 -1
  360. package/execution/returnIteratorCatchingErrors.mjs +0 -1
  361. package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
  362. package/execution/values.d.mts +187 -5
  363. package/execution/values.d.ts +187 -5
  364. package/execution/values.js +14 -55
  365. package/execution/values.js.map +1 -1
  366. package/execution/values.mjs +14 -55
  367. package/execution/values.mjs.map +1 -1
  368. package/execution/withConcurrentAbruptClose.d.mts +2 -0
  369. package/execution/withConcurrentAbruptClose.d.ts +2 -0
  370. package/execution/withConcurrentAbruptClose.js +0 -14
  371. package/execution/withConcurrentAbruptClose.js.map +1 -1
  372. package/execution/withConcurrentAbruptClose.mjs +0 -14
  373. package/execution/withConcurrentAbruptClose.mjs.map +1 -1
  374. package/graphql.d.mts +192 -44
  375. package/graphql.d.ts +192 -44
  376. package/graphql.js +0 -12
  377. package/graphql.js.map +1 -1
  378. package/graphql.mjs +0 -12
  379. package/graphql.mjs.map +1 -1
  380. package/harness.d.mts +17 -0
  381. package/harness.d.ts +17 -0
  382. package/harness.js.map +1 -1
  383. package/harness.mjs.map +1 -1
  384. package/index.d.mts +26 -24
  385. package/index.d.ts +26 -24
  386. package/index.js +9 -96
  387. package/index.js.map +1 -1
  388. package/index.mjs +5 -149
  389. package/index.mjs.map +1 -1
  390. package/jsutils/AccumulatorMap.d.mts +2 -0
  391. package/jsutils/AccumulatorMap.d.ts +2 -0
  392. package/jsutils/AccumulatorMap.js +0 -4
  393. package/jsutils/AccumulatorMap.js.map +1 -1
  394. package/jsutils/AccumulatorMap.mjs +0 -4
  395. package/jsutils/AccumulatorMap.mjs.map +1 -1
  396. package/jsutils/Maybe.d.mts +5 -1
  397. package/jsutils/Maybe.d.ts +5 -1
  398. package/jsutils/Maybe.js.map +1 -1
  399. package/jsutils/Maybe.mjs.map +1 -1
  400. package/jsutils/ObjMap.d.mts +6 -0
  401. package/jsutils/ObjMap.d.ts +6 -0
  402. package/jsutils/ObjMap.js.map +1 -1
  403. package/jsutils/ObjMap.mjs.map +1 -1
  404. package/jsutils/Path.d.mts +30 -0
  405. package/jsutils/Path.d.ts +30 -0
  406. package/jsutils/Path.js +0 -6
  407. package/jsutils/Path.js.map +1 -1
  408. package/jsutils/Path.mjs +0 -6
  409. package/jsutils/Path.mjs.map +1 -1
  410. package/jsutils/PromiseOrValue.d.mts +1 -0
  411. package/jsutils/PromiseOrValue.d.ts +1 -0
  412. package/jsutils/PromiseOrValue.js.map +1 -1
  413. package/jsutils/PromiseOrValue.mjs.map +1 -1
  414. package/jsutils/capitalize.d.mts +2 -0
  415. package/jsutils/capitalize.d.ts +2 -0
  416. package/jsutils/capitalize.js +0 -3
  417. package/jsutils/capitalize.js.map +1 -1
  418. package/jsutils/capitalize.mjs +0 -3
  419. package/jsutils/capitalize.mjs.map +1 -1
  420. package/jsutils/devAssert.d.mts +1 -0
  421. package/jsutils/devAssert.d.ts +1 -0
  422. package/jsutils/devAssert.js.map +1 -1
  423. package/jsutils/devAssert.mjs.map +1 -1
  424. package/jsutils/didYouMean.d.mts +4 -1
  425. package/jsutils/didYouMean.d.ts +4 -1
  426. package/jsutils/didYouMean.js.map +1 -1
  427. package/jsutils/didYouMean.mjs.map +1 -1
  428. package/jsutils/formatList.d.mts +6 -2
  429. package/jsutils/formatList.d.ts +6 -2
  430. package/jsutils/formatList.js +0 -6
  431. package/jsutils/formatList.js.map +1 -1
  432. package/jsutils/formatList.mjs +0 -6
  433. package/jsutils/formatList.mjs.map +1 -1
  434. package/jsutils/getBySet.d.mts +1 -0
  435. package/jsutils/getBySet.d.ts +1 -0
  436. package/jsutils/getBySet.js.map +1 -1
  437. package/jsutils/getBySet.mjs.map +1 -1
  438. package/jsutils/groupBy.d.mts +2 -0
  439. package/jsutils/groupBy.d.ts +2 -0
  440. package/jsutils/groupBy.js +0 -3
  441. package/jsutils/groupBy.js.map +1 -1
  442. package/jsutils/groupBy.mjs +0 -3
  443. package/jsutils/groupBy.mjs.map +1 -1
  444. package/jsutils/identityFunc.d.mts +2 -0
  445. package/jsutils/identityFunc.d.ts +2 -0
  446. package/jsutils/identityFunc.js +0 -3
  447. package/jsutils/identityFunc.js.map +1 -1
  448. package/jsutils/identityFunc.mjs +0 -3
  449. package/jsutils/identityFunc.mjs.map +1 -1
  450. package/jsutils/inspect.d.mts +2 -0
  451. package/jsutils/inspect.d.ts +2 -0
  452. package/jsutils/inspect.js +0 -4
  453. package/jsutils/inspect.js.map +1 -1
  454. package/jsutils/inspect.mjs +0 -4
  455. package/jsutils/inspect.mjs.map +1 -1
  456. package/jsutils/instanceOf.d.mts +2 -0
  457. package/jsutils/instanceOf.d.ts +2 -0
  458. package/jsutils/instanceOf.js +1 -12
  459. package/jsutils/instanceOf.js.map +1 -1
  460. package/jsutils/instanceOf.mjs +1 -12
  461. package/jsutils/instanceOf.mjs.map +1 -1
  462. package/jsutils/invariant.d.mts +1 -0
  463. package/jsutils/invariant.d.ts +1 -0
  464. package/jsutils/invariant.js.map +1 -1
  465. package/jsutils/invariant.mjs.map +1 -1
  466. package/jsutils/isAsyncIterable.d.mts +2 -0
  467. package/jsutils/isAsyncIterable.d.ts +2 -0
  468. package/jsutils/isAsyncIterable.js +0 -4
  469. package/jsutils/isAsyncIterable.js.map +1 -1
  470. package/jsutils/isAsyncIterable.mjs +0 -4
  471. package/jsutils/isAsyncIterable.mjs.map +1 -1
  472. package/jsutils/isIterableObject.d.mts +6 -5
  473. package/jsutils/isIterableObject.d.ts +6 -5
  474. package/jsutils/isIterableObject.js +0 -17
  475. package/jsutils/isIterableObject.js.map +1 -1
  476. package/jsutils/isIterableObject.mjs +0 -17
  477. package/jsutils/isIterableObject.mjs.map +1 -1
  478. package/jsutils/isObjectLike.d.mts +2 -0
  479. package/jsutils/isObjectLike.d.ts +2 -0
  480. package/jsutils/isObjectLike.js +0 -4
  481. package/jsutils/isObjectLike.js.map +1 -1
  482. package/jsutils/isObjectLike.mjs +0 -4
  483. package/jsutils/isObjectLike.mjs.map +1 -1
  484. package/jsutils/isPromise.d.mts +3 -0
  485. package/jsutils/isPromise.d.ts +3 -0
  486. package/jsutils/isPromise.js +0 -4
  487. package/jsutils/isPromise.js.map +1 -1
  488. package/jsutils/isPromise.mjs +0 -4
  489. package/jsutils/isPromise.mjs.map +1 -1
  490. package/jsutils/isSameSet.d.mts +1 -0
  491. package/jsutils/isSameSet.d.ts +1 -0
  492. package/jsutils/isSameSet.js.map +1 -1
  493. package/jsutils/isSameSet.mjs.map +1 -1
  494. package/jsutils/keyMap.d.mts +7 -14
  495. package/jsutils/keyMap.d.ts +7 -14
  496. package/jsutils/keyMap.js +0 -27
  497. package/jsutils/keyMap.js.map +1 -1
  498. package/jsutils/keyMap.mjs +0 -27
  499. package/jsutils/keyMap.mjs.map +1 -1
  500. package/jsutils/keyValMap.d.mts +9 -6
  501. package/jsutils/keyValMap.d.ts +9 -6
  502. package/jsutils/keyValMap.js +0 -17
  503. package/jsutils/keyValMap.js.map +1 -1
  504. package/jsutils/keyValMap.mjs +0 -17
  505. package/jsutils/keyValMap.mjs.map +1 -1
  506. package/jsutils/mapValue.d.mts +2 -0
  507. package/jsutils/mapValue.d.ts +2 -0
  508. package/jsutils/mapValue.js +0 -4
  509. package/jsutils/mapValue.js.map +1 -1
  510. package/jsutils/mapValue.mjs +0 -4
  511. package/jsutils/mapValue.mjs.map +1 -1
  512. package/jsutils/memoize1.d.mts +2 -0
  513. package/jsutils/memoize1.d.ts +2 -0
  514. package/jsutils/memoize1.js +0 -3
  515. package/jsutils/memoize1.js.map +1 -1
  516. package/jsutils/memoize1.mjs +0 -3
  517. package/jsutils/memoize1.mjs.map +1 -1
  518. package/jsutils/memoize2.d.mts +2 -0
  519. package/jsutils/memoize2.d.ts +2 -0
  520. package/jsutils/memoize2.js +0 -3
  521. package/jsutils/memoize2.js.map +1 -1
  522. package/jsutils/memoize2.mjs +0 -3
  523. package/jsutils/memoize2.mjs.map +1 -1
  524. package/jsutils/memoize3.d.mts +2 -0
  525. package/jsutils/memoize3.d.ts +2 -0
  526. package/jsutils/memoize3.js +0 -3
  527. package/jsutils/memoize3.js.map +1 -1
  528. package/jsutils/memoize3.mjs +0 -3
  529. package/jsutils/memoize3.mjs.map +1 -1
  530. package/jsutils/naturalCompare.d.mts +1 -0
  531. package/jsutils/naturalCompare.d.ts +1 -0
  532. package/jsutils/naturalCompare.js +0 -7
  533. package/jsutils/naturalCompare.js.map +1 -1
  534. package/jsutils/naturalCompare.mjs +0 -7
  535. package/jsutils/naturalCompare.mjs.map +1 -1
  536. package/jsutils/printPathArray.d.mts +2 -0
  537. package/jsutils/printPathArray.d.ts +2 -0
  538. package/jsutils/printPathArray.js +0 -3
  539. package/jsutils/printPathArray.js.map +1 -1
  540. package/jsutils/printPathArray.mjs +0 -3
  541. package/jsutils/printPathArray.mjs.map +1 -1
  542. package/jsutils/promiseForObject.d.mts +2 -0
  543. package/jsutils/promiseForObject.d.ts +2 -0
  544. package/jsutils/promiseForObject.js +0 -7
  545. package/jsutils/promiseForObject.js.map +1 -1
  546. package/jsutils/promiseForObject.mjs +0 -7
  547. package/jsutils/promiseForObject.mjs.map +1 -1
  548. package/jsutils/promiseReduce.d.mts +2 -0
  549. package/jsutils/promiseReduce.d.ts +2 -0
  550. package/jsutils/promiseReduce.js +0 -7
  551. package/jsutils/promiseReduce.js.map +1 -1
  552. package/jsutils/promiseReduce.mjs +0 -7
  553. package/jsutils/promiseReduce.mjs.map +1 -1
  554. package/jsutils/promiseWithResolvers.d.mts +2 -0
  555. package/jsutils/promiseWithResolvers.d.ts +2 -0
  556. package/jsutils/promiseWithResolvers.js +0 -5
  557. package/jsutils/promiseWithResolvers.js.map +1 -1
  558. package/jsutils/promiseWithResolvers.mjs +0 -5
  559. package/jsutils/promiseWithResolvers.mjs.map +1 -1
  560. package/jsutils/suggestionList.d.mts +2 -0
  561. package/jsutils/suggestionList.d.ts +2 -0
  562. package/jsutils/suggestionList.js +1 -24
  563. package/jsutils/suggestionList.js.map +1 -1
  564. package/jsutils/suggestionList.mjs +1 -24
  565. package/jsutils/suggestionList.mjs.map +1 -1
  566. package/jsutils/toError.d.mts +2 -0
  567. package/jsutils/toError.d.ts +2 -0
  568. package/jsutils/toError.js +0 -3
  569. package/jsutils/toError.js.map +1 -1
  570. package/jsutils/toError.mjs +0 -3
  571. package/jsutils/toError.mjs.map +1 -1
  572. package/jsutils/toObjMap.d.mts +2 -0
  573. package/jsutils/toObjMap.d.ts +2 -0
  574. package/jsutils/toObjMap.js.map +1 -1
  575. package/jsutils/toObjMap.mjs.map +1 -1
  576. package/language/KindTypeMap.d.mts +1 -0
  577. package/language/KindTypeMap.d.ts +1 -0
  578. package/language/KindTypeMap.js.map +1 -1
  579. package/language/KindTypeMap.mjs.map +1 -1
  580. package/language/ast.d.mts +413 -53
  581. package/language/ast.d.ts +413 -53
  582. package/language/ast.js +0 -20
  583. package/language/ast.js.map +1 -1
  584. package/language/ast.mjs +0 -20
  585. package/language/ast.mjs.map +1 -1
  586. package/language/blockString.d.mts +1 -3
  587. package/language/blockString.d.ts +1 -3
  588. package/language/blockString.js +11 -37
  589. package/language/blockString.js.map +1 -1
  590. package/language/blockString.mjs +11 -37
  591. package/language/blockString.mjs.map +1 -1
  592. package/language/characterClasses.js +2 -45
  593. package/language/characterClasses.js.map +1 -1
  594. package/language/characterClasses.mjs +2 -45
  595. package/language/characterClasses.mjs.map +1 -1
  596. package/language/directiveLocation.d.mts +24 -5
  597. package/language/directiveLocation.d.ts +24 -5
  598. package/language/directiveLocation.js +0 -5
  599. package/language/directiveLocation.js.map +1 -1
  600. package/language/directiveLocation.mjs +0 -5
  601. package/language/directiveLocation.mjs.map +1 -1
  602. package/language/index.d.mts +6 -0
  603. package/language/index.d.ts +6 -0
  604. package/language/index.js +0 -4
  605. package/language/index.js.map +1 -1
  606. package/language/index.mjs +0 -4
  607. package/language/index.mjs.map +1 -1
  608. package/language/kinds.d.mts +3 -0
  609. package/language/kinds.d.ts +3 -0
  610. package/language/kinds.js.map +1 -1
  611. package/language/kinds.mjs.map +1 -1
  612. package/language/kinds_.d.mts +100 -12
  613. package/language/kinds_.d.ts +100 -12
  614. package/language/kinds_.js +0 -13
  615. package/language/kinds_.js.map +1 -1
  616. package/language/kinds_.mjs +0 -13
  617. package/language/kinds_.mjs.map +1 -1
  618. package/language/lexer.d.mts +48 -15
  619. package/language/lexer.d.ts +48 -15
  620. package/language/lexer.js +37 -278
  621. package/language/lexer.js.map +1 -1
  622. package/language/lexer.mjs +37 -278
  623. package/language/lexer.mjs.map +1 -1
  624. package/language/location.d.mts +16 -3
  625. package/language/location.d.ts +16 -3
  626. package/language/location.js +0 -4
  627. package/language/location.js.map +1 -1
  628. package/language/location.mjs +0 -4
  629. package/language/location.mjs.map +1 -1
  630. package/language/parser.d.mts +224 -9
  631. package/language/parser.d.ts +224 -9
  632. package/language/parser.js +0 -375
  633. package/language/parser.js.map +1 -1
  634. package/language/parser.mjs +0 -375
  635. package/language/parser.mjs.map +1 -1
  636. package/language/predicates.d.mts +181 -0
  637. package/language/predicates.d.ts +181 -0
  638. package/language/predicates.js +0 -6
  639. package/language/predicates.js.map +1 -1
  640. package/language/predicates.mjs +0 -6
  641. package/language/predicates.mjs.map +1 -1
  642. package/language/printLocation.d.mts +28 -0
  643. package/language/printLocation.d.ts +28 -0
  644. package/language/printLocation.js +0 -8
  645. package/language/printLocation.js.map +1 -1
  646. package/language/printLocation.mjs +0 -8
  647. package/language/printLocation.mjs.map +1 -1
  648. package/language/printString.d.mts +2 -0
  649. package/language/printString.d.ts +2 -0
  650. package/language/printString.js +5 -11
  651. package/language/printString.js.map +1 -1
  652. package/language/printString.mjs +5 -11
  653. package/language/printString.mjs.map +1 -1
  654. package/language/printer.d.mts +12 -0
  655. package/language/printer.d.ts +12 -0
  656. package/language/printer.js +0 -25
  657. package/language/printer.js.map +1 -1
  658. package/language/printer.mjs +0 -25
  659. package/language/printer.mjs.map +1 -1
  660. package/language/schemaCoordinateLexer.d.mts +14 -0
  661. package/language/schemaCoordinateLexer.d.ts +14 -0
  662. package/language/schemaCoordinateLexer.js +5 -35
  663. package/language/schemaCoordinateLexer.js.map +1 -1
  664. package/language/schemaCoordinateLexer.mjs +5 -35
  665. package/language/schemaCoordinateLexer.mjs.map +1 -1
  666. package/language/source.d.mts +28 -1
  667. package/language/source.d.ts +28 -1
  668. package/language/source.js +0 -12
  669. package/language/source.js.map +1 -1
  670. package/language/source.mjs +0 -12
  671. package/language/source.mjs.map +1 -1
  672. package/language/tokenKind.d.mts +5 -0
  673. package/language/tokenKind.d.ts +5 -0
  674. package/language/tokenKind.js +0 -4
  675. package/language/tokenKind.js.map +1 -1
  676. package/language/tokenKind.mjs +0 -4
  677. package/language/tokenKind.mjs.map +1 -1
  678. package/language/visitor.d.mts +182 -72
  679. package/language/visitor.d.ts +182 -72
  680. package/language/visitor.js +0 -15
  681. package/language/visitor.js.map +1 -1
  682. package/language/visitor.mjs +0 -15
  683. package/language/visitor.mjs.map +1 -1
  684. package/package.json +1 -1
  685. package/type/assertName.d.mts +18 -1
  686. package/type/assertName.d.ts +18 -1
  687. package/type/assertName.js +0 -8
  688. package/type/assertName.js.map +1 -1
  689. package/type/assertName.mjs +0 -8
  690. package/type/assertName.mjs.map +1 -1
  691. package/type/definition.d.mts +3258 -128
  692. package/type/definition.d.ts +3258 -128
  693. package/type/definition.js +5 -252
  694. package/type/definition.js.map +1 -1
  695. package/type/definition.mjs +5 -252
  696. package/type/definition.mjs.map +1 -1
  697. package/type/directives.d.mts +209 -20
  698. package/type/directives.d.ts +209 -20
  699. package/type/directives.js +0 -37
  700. package/type/directives.js.map +1 -1
  701. package/type/directives.mjs +0 -37
  702. package/type/directives.mjs.map +1 -1
  703. package/type/index.d.mts +6 -0
  704. package/type/index.d.ts +6 -0
  705. package/type/index.js +0 -23
  706. package/type/index.js.map +1 -1
  707. package/type/index.mjs +5 -48
  708. package/type/index.mjs.map +1 -1
  709. package/type/introspection.d.mts +36 -0
  710. package/type/introspection.d.ts +36 -0
  711. package/type/introspection.js +1 -6
  712. package/type/introspection.js.map +1 -1
  713. package/type/introspection.mjs +1 -6
  714. package/type/introspection.mjs.map +1 -1
  715. package/type/scalars.d.mts +29 -2
  716. package/type/scalars.d.ts +29 -2
  717. package/type/scalars.js +0 -15
  718. package/type/scalars.js.map +1 -1
  719. package/type/scalars.mjs +0 -15
  720. package/type/scalars.mjs.map +1 -1
  721. package/type/schema.d.mts +507 -31
  722. package/type/schema.d.ts +507 -31
  723. package/type/schema.js +0 -97
  724. package/type/schema.js.map +1 -1
  725. package/type/schema.mjs +0 -97
  726. package/type/schema.mjs.map +1 -1
  727. package/type/validate.d.mts +32 -3
  728. package/type/validate.d.ts +32 -3
  729. package/type/validate.js +0 -112
  730. package/type/validate.js.map +1 -1
  731. package/type/validate.mjs +0 -112
  732. package/type/validate.mjs.map +1 -1
  733. package/utilities/TypeInfo.d.mts +564 -1
  734. package/utilities/TypeInfo.d.ts +564 -1
  735. package/utilities/TypeInfo.js +1 -24
  736. package/utilities/TypeInfo.js.map +1 -1
  737. package/utilities/TypeInfo.mjs +1 -24
  738. package/utilities/TypeInfo.mjs.map +1 -1
  739. package/utilities/astFromValue.d.mts +36 -3
  740. package/utilities/astFromValue.d.ts +36 -3
  741. package/utilities/astFromValue.js +0 -42
  742. package/utilities/astFromValue.js.map +1 -1
  743. package/utilities/astFromValue.mjs +0 -42
  744. package/utilities/astFromValue.mjs.map +1 -1
  745. package/utilities/buildASTSchema.d.mts +66 -6
  746. package/utilities/buildASTSchema.d.ts +66 -6
  747. package/utilities/buildASTSchema.js +0 -21
  748. package/utilities/buildASTSchema.js.map +1 -1
  749. package/utilities/buildASTSchema.mjs +0 -21
  750. package/utilities/buildASTSchema.mjs.map +1 -1
  751. package/utilities/buildClientSchema.d.mts +17 -2
  752. package/utilities/buildClientSchema.d.ts +17 -2
  753. package/utilities/buildClientSchema.js +1 -32
  754. package/utilities/buildClientSchema.js.map +1 -1
  755. package/utilities/buildClientSchema.mjs +0 -30
  756. package/utilities/buildClientSchema.mjs.map +1 -1
  757. package/utilities/coerceInputValue.d.mts +83 -1
  758. package/utilities/coerceInputValue.d.ts +83 -1
  759. package/utilities/coerceInputValue.js +21 -50
  760. package/utilities/coerceInputValue.js.map +1 -1
  761. package/utilities/coerceInputValue.mjs +21 -50
  762. package/utilities/coerceInputValue.mjs.map +1 -1
  763. package/utilities/concatAST.d.mts +12 -0
  764. package/utilities/concatAST.d.ts +12 -0
  765. package/utilities/concatAST.js +0 -5
  766. package/utilities/concatAST.js.map +1 -1
  767. package/utilities/concatAST.mjs +0 -5
  768. package/utilities/concatAST.mjs.map +1 -1
  769. package/utilities/extendSchema.d.mts +58 -3
  770. package/utilities/extendSchema.d.ts +58 -3
  771. package/utilities/extendSchema.js +0 -60
  772. package/utilities/extendSchema.js.map +1 -1
  773. package/utilities/extendSchema.mjs +0 -60
  774. package/utilities/extendSchema.mjs.map +1 -1
  775. package/utilities/findSchemaChanges.d.mts +99 -1
  776. package/utilities/findSchemaChanges.d.ts +99 -1
  777. package/utilities/findSchemaChanges.js +3 -35
  778. package/utilities/findSchemaChanges.js.map +1 -1
  779. package/utilities/findSchemaChanges.mjs +3 -35
  780. package/utilities/findSchemaChanges.mjs.map +1 -1
  781. package/utilities/getDefaultValueAST.d.mts +1 -0
  782. package/utilities/getDefaultValueAST.d.ts +1 -0
  783. package/utilities/getDefaultValueAST.js +0 -2
  784. package/utilities/getDefaultValueAST.js.map +1 -1
  785. package/utilities/getDefaultValueAST.mjs +0 -2
  786. package/utilities/getDefaultValueAST.mjs.map +1 -1
  787. package/utilities/getIntrospectionQuery.d.mts +132 -0
  788. package/utilities/getIntrospectionQuery.d.ts +132 -0
  789. package/utilities/getIntrospectionQuery.js +0 -4
  790. package/utilities/getIntrospectionQuery.js.map +1 -1
  791. package/utilities/getIntrospectionQuery.mjs +0 -4
  792. package/utilities/getIntrospectionQuery.mjs.map +1 -1
  793. package/utilities/getOperationAST.d.mts +15 -0
  794. package/utilities/getOperationAST.d.ts +15 -0
  795. package/utilities/getOperationAST.js +0 -8
  796. package/utilities/getOperationAST.js.map +1 -1
  797. package/utilities/getOperationAST.mjs +0 -8
  798. package/utilities/getOperationAST.mjs.map +1 -1
  799. package/utilities/index.d.mts +18 -3
  800. package/utilities/index.d.ts +18 -3
  801. package/utilities/index.js +0 -27
  802. package/utilities/index.js.map +1 -1
  803. package/utilities/index.mjs +4 -37
  804. package/utilities/index.mjs.map +1 -1
  805. package/utilities/introspectionFromSchema.d.mts +54 -0
  806. package/utilities/introspectionFromSchema.d.ts +54 -0
  807. package/utilities/introspectionFromSchema.js +0 -9
  808. package/utilities/introspectionFromSchema.js.map +1 -1
  809. package/utilities/introspectionFromSchema.mjs +0 -9
  810. package/utilities/introspectionFromSchema.mjs.map +1 -1
  811. package/utilities/lexicographicSortSchema.d.mts +35 -0
  812. package/utilities/lexicographicSortSchema.d.ts +35 -0
  813. package/utilities/lexicographicSortSchema.js +0 -5
  814. package/utilities/lexicographicSortSchema.js.map +1 -1
  815. package/utilities/lexicographicSortSchema.mjs +0 -5
  816. package/utilities/lexicographicSortSchema.mjs.map +1 -1
  817. package/utilities/mapSchemaConfig.d.mts +6 -3
  818. package/utilities/mapSchemaConfig.d.ts +6 -3
  819. package/utilities/mapSchemaConfig.js +0 -10
  820. package/utilities/mapSchemaConfig.js.map +1 -1
  821. package/utilities/mapSchemaConfig.mjs +0 -10
  822. package/utilities/mapSchemaConfig.mjs.map +1 -1
  823. package/utilities/printSchema.d.mts +84 -0
  824. package/utilities/printSchema.d.ts +84 -0
  825. package/utilities/printSchema.js +0 -28
  826. package/utilities/printSchema.js.map +1 -1
  827. package/utilities/printSchema.mjs +0 -28
  828. package/utilities/printSchema.mjs.map +1 -1
  829. package/utilities/replaceVariables.d.mts +36 -0
  830. package/utilities/replaceVariables.d.ts +36 -0
  831. package/utilities/replaceVariables.js +0 -8
  832. package/utilities/replaceVariables.js.map +1 -1
  833. package/utilities/replaceVariables.mjs +0 -8
  834. package/utilities/replaceVariables.mjs.map +1 -1
  835. package/utilities/resolveSchemaCoordinate.d.mts +62 -0
  836. package/utilities/resolveSchemaCoordinate.d.ts +62 -0
  837. package/utilities/resolveSchemaCoordinate.js +0 -56
  838. package/utilities/resolveSchemaCoordinate.js.map +1 -1
  839. package/utilities/resolveSchemaCoordinate.mjs +0 -56
  840. package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
  841. package/utilities/separateOperations.d.mts +30 -0
  842. package/utilities/separateOperations.d.ts +30 -0
  843. package/utilities/separateOperations.js +0 -15
  844. package/utilities/separateOperations.js.map +1 -1
  845. package/utilities/separateOperations.mjs +0 -15
  846. package/utilities/separateOperations.mjs.map +1 -1
  847. package/utilities/sortValueNode.js +0 -7
  848. package/utilities/sortValueNode.js.map +1 -1
  849. package/utilities/sortValueNode.mjs +0 -7
  850. package/utilities/sortValueNode.mjs.map +1 -1
  851. package/utilities/stripIgnoredCharacters.d.mts +13 -6
  852. package/utilities/stripIgnoredCharacters.d.ts +13 -6
  853. package/utilities/stripIgnoredCharacters.js +0 -65
  854. package/utilities/stripIgnoredCharacters.js.map +1 -1
  855. package/utilities/stripIgnoredCharacters.mjs +0 -65
  856. package/utilities/stripIgnoredCharacters.mjs.map +1 -1
  857. package/utilities/typeComparators.d.mts +84 -0
  858. package/utilities/typeComparators.d.ts +84 -0
  859. package/utilities/typeComparators.js +0 -33
  860. package/utilities/typeComparators.js.map +1 -1
  861. package/utilities/typeComparators.mjs +0 -33
  862. package/utilities/typeComparators.mjs.map +1 -1
  863. package/utilities/typeFromAST.d.mts +86 -0
  864. package/utilities/typeFromAST.d.ts +86 -0
  865. package/utilities/typeFromAST.js.map +1 -1
  866. package/utilities/typeFromAST.mjs.map +1 -1
  867. package/utilities/typedQueryDocumentNode.d.mts +4 -0
  868. package/utilities/typedQueryDocumentNode.d.ts +4 -0
  869. package/utilities/typedQueryDocumentNode.js.map +1 -1
  870. package/utilities/typedQueryDocumentNode.mjs.map +1 -1
  871. package/utilities/validateInputValue.d.mts +123 -0
  872. package/utilities/validateInputValue.d.ts +123 -0
  873. package/utilities/validateInputValue.js +0 -20
  874. package/utilities/validateInputValue.js.map +1 -1
  875. package/utilities/validateInputValue.mjs +0 -20
  876. package/utilities/validateInputValue.mjs.map +1 -1
  877. package/utilities/valueFromAST.d.mts +41 -0
  878. package/utilities/valueFromAST.d.ts +41 -0
  879. package/utilities/valueFromAST.js +13 -51
  880. package/utilities/valueFromAST.js.map +1 -1
  881. package/utilities/valueFromAST.mjs +13 -51
  882. package/utilities/valueFromAST.mjs.map +1 -1
  883. package/utilities/valueFromASTUntyped.d.mts +15 -2
  884. package/utilities/valueFromASTUntyped.d.ts +15 -2
  885. package/utilities/valueFromASTUntyped.js +0 -16
  886. package/utilities/valueFromASTUntyped.js.map +1 -1
  887. package/utilities/valueFromASTUntyped.mjs +0 -16
  888. package/utilities/valueFromASTUntyped.mjs.map +1 -1
  889. package/utilities/valueToLiteral.d.mts +30 -1
  890. package/utilities/valueToLiteral.d.ts +30 -1
  891. package/utilities/valueToLiteral.js +7 -40
  892. package/utilities/valueToLiteral.js.map +1 -1
  893. package/utilities/valueToLiteral.mjs +7 -40
  894. package/utilities/valueToLiteral.mjs.map +1 -1
  895. package/validation/ValidationContext.d.mts +490 -0
  896. package/validation/ValidationContext.d.ts +490 -0
  897. package/validation/ValidationContext.js +1 -8
  898. package/validation/ValidationContext.js.map +1 -1
  899. package/validation/ValidationContext.mjs +1 -8
  900. package/validation/ValidationContext.mjs.map +1 -1
  901. package/validation/index.d.mts +7 -0
  902. package/validation/index.d.ts +7 -0
  903. package/validation/index.js +0 -34
  904. package/validation/index.js.map +1 -1
  905. package/validation/index.mjs +0 -34
  906. package/validation/index.mjs.map +1 -1
  907. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +30 -0
  908. package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +30 -0
  909. package/validation/rules/DeferStreamDirectiveLabelRule.js +0 -5
  910. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  911. package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
  912. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  913. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +28 -0
  914. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +28 -0
  915. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +0 -5
  916. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
  917. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
  918. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
  919. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +52 -0
  920. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +52 -0
  921. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +0 -5
  922. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
  923. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
  924. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
  925. package/validation/rules/ExecutableDefinitionsRule.d.mts +28 -0
  926. package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
  927. package/validation/rules/ExecutableDefinitionsRule.js +0 -8
  928. package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
  929. package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
  930. package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
  931. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +28 -0
  932. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
  933. package/validation/rules/FieldsOnCorrectTypeRule.js +0 -27
  934. package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
  935. package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
  936. package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
  937. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +28 -0
  938. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
  939. package/validation/rules/FragmentsOnCompositeTypesRule.js +0 -9
  940. package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
  941. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
  942. package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
  943. package/validation/rules/KnownArgumentNamesRule.d.mts +29 -3
  944. package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
  945. package/validation/rules/KnownArgumentNamesRule.js +0 -13
  946. package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
  947. package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
  948. package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
  949. package/validation/rules/KnownDirectivesRule.d.mts +28 -0
  950. package/validation/rules/KnownDirectivesRule.d.ts +28 -0
  951. package/validation/rules/KnownDirectivesRule.js +0 -10
  952. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  953. package/validation/rules/KnownDirectivesRule.mjs +0 -10
  954. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  955. package/validation/rules/KnownFragmentNamesRule.d.mts +28 -0
  956. package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
  957. package/validation/rules/KnownFragmentNamesRule.js +0 -8
  958. package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
  959. package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
  960. package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
  961. package/validation/rules/KnownOperationTypesRule.d.mts +20 -0
  962. package/validation/rules/KnownOperationTypesRule.d.ts +20 -0
  963. package/validation/rules/KnownOperationTypesRule.js +0 -8
  964. package/validation/rules/KnownOperationTypesRule.js.map +1 -1
  965. package/validation/rules/KnownOperationTypesRule.mjs +0 -8
  966. package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
  967. package/validation/rules/KnownTypeNamesRule.d.mts +28 -0
  968. package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
  969. package/validation/rules/KnownTypeNamesRule.js +0 -8
  970. package/validation/rules/KnownTypeNamesRule.js.map +1 -1
  971. package/validation/rules/KnownTypeNamesRule.mjs +0 -8
  972. package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
  973. package/validation/rules/LoneAnonymousOperationRule.d.mts +28 -0
  974. package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
  975. package/validation/rules/LoneAnonymousOperationRule.js +0 -8
  976. package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
  977. package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
  978. package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
  979. package/validation/rules/LoneSchemaDefinitionRule.d.mts +21 -0
  980. package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
  981. package/validation/rules/LoneSchemaDefinitionRule.js +0 -5
  982. package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
  983. package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
  984. package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
  985. package/validation/rules/MaxIntrospectionDepthRule.d.mts +31 -0
  986. package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
  987. package/validation/rules/MaxIntrospectionDepthRule.js +0 -14
  988. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  989. package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
  990. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  991. package/validation/rules/NoFragmentCyclesRule.d.mts +28 -0
  992. package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
  993. package/validation/rules/NoFragmentCyclesRule.js +0 -15
  994. package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
  995. package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
  996. package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
  997. package/validation/rules/NoUndefinedVariablesRule.d.mts +28 -0
  998. package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
  999. package/validation/rules/NoUndefinedVariablesRule.js +0 -8
  1000. package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
  1001. package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
  1002. package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
  1003. package/validation/rules/NoUnusedFragmentsRule.d.mts +28 -0
  1004. package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
  1005. package/validation/rules/NoUnusedFragmentsRule.js +0 -8
  1006. package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
  1007. package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
  1008. package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
  1009. package/validation/rules/NoUnusedVariablesRule.d.mts +29 -0
  1010. package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
  1011. package/validation/rules/NoUnusedVariablesRule.js +0 -8
  1012. package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
  1013. package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
  1014. package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
  1015. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +33 -0
  1016. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
  1017. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -175
  1018. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  1019. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
  1020. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  1021. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +36 -0
  1022. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
  1023. package/validation/rules/PossibleFragmentSpreadsRule.js +0 -7
  1024. package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
  1025. package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
  1026. package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
  1027. package/validation/rules/PossibleTypeExtensionsRule.d.mts +21 -0
  1028. package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
  1029. package/validation/rules/PossibleTypeExtensionsRule.js +0 -9
  1030. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  1031. package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -9
  1032. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  1033. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +29 -3
  1034. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
  1035. package/validation/rules/ProvidedRequiredArgumentsRule.js +0 -13
  1036. package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
  1037. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
  1038. package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
  1039. package/validation/rules/ScalarLeafsRule.d.mts +28 -0
  1040. package/validation/rules/ScalarLeafsRule.d.ts +28 -0
  1041. package/validation/rules/ScalarLeafsRule.js +0 -6
  1042. package/validation/rules/ScalarLeafsRule.js.map +1 -1
  1043. package/validation/rules/ScalarLeafsRule.mjs +0 -6
  1044. package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
  1045. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +34 -2
  1046. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +34 -2
  1047. package/validation/rules/SingleFieldSubscriptionsRule.js +0 -9
  1048. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  1049. package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
  1050. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  1051. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +21 -0
  1052. package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +21 -0
  1053. package/validation/rules/StreamDirectiveOnListFieldRule.js +0 -5
  1054. package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
  1055. package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
  1056. package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
  1057. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +21 -0
  1058. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
  1059. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +0 -6
  1060. package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
  1061. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
  1062. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
  1063. package/validation/rules/UniqueArgumentNamesRule.d.mts +28 -0
  1064. package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
  1065. package/validation/rules/UniqueArgumentNamesRule.js +0 -8
  1066. package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
  1067. package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
  1068. package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
  1069. package/validation/rules/UniqueDirectiveNamesRule.d.mts +21 -0
  1070. package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
  1071. package/validation/rules/UniqueDirectiveNamesRule.js +0 -5
  1072. package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
  1073. package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
  1074. package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
  1075. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +28 -0
  1076. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
  1077. package/validation/rules/UniqueDirectivesPerLocationRule.js +0 -11
  1078. package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
  1079. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +0 -11
  1080. package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
  1081. package/validation/rules/UniqueEnumValueNamesRule.d.mts +21 -0
  1082. package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
  1083. package/validation/rules/UniqueEnumValueNamesRule.js +0 -5
  1084. package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
  1085. package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
  1086. package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
  1087. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +21 -0
  1088. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
  1089. package/validation/rules/UniqueFieldDefinitionNamesRule.js +0 -5
  1090. package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
  1091. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
  1092. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
  1093. package/validation/rules/UniqueFragmentNamesRule.d.mts +28 -0
  1094. package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
  1095. package/validation/rules/UniqueFragmentNamesRule.js +0 -7
  1096. package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
  1097. package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
  1098. package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
  1099. package/validation/rules/UniqueInputFieldNamesRule.d.mts +32 -0
  1100. package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
  1101. package/validation/rules/UniqueInputFieldNamesRule.js +0 -8
  1102. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  1103. package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
  1104. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  1105. package/validation/rules/UniqueOperationNamesRule.d.mts +28 -0
  1106. package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
  1107. package/validation/rules/UniqueOperationNamesRule.js +0 -7
  1108. package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
  1109. package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
  1110. package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
  1111. package/validation/rules/UniqueOperationTypesRule.d.mts +21 -0
  1112. package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
  1113. package/validation/rules/UniqueOperationTypesRule.js +0 -5
  1114. package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
  1115. package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
  1116. package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
  1117. package/validation/rules/UniqueTypeNamesRule.d.mts +21 -0
  1118. package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
  1119. package/validation/rules/UniqueTypeNamesRule.js +0 -5
  1120. package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
  1121. package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
  1122. package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
  1123. package/validation/rules/UniqueVariableNamesRule.d.mts +28 -0
  1124. package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
  1125. package/validation/rules/UniqueVariableNamesRule.js +0 -5
  1126. package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
  1127. package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
  1128. package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
  1129. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +28 -0
  1130. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
  1131. package/validation/rules/ValuesOfCorrectTypeRule.js +1 -21
  1132. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  1133. package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
  1134. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  1135. package/validation/rules/VariablesAreInputTypesRule.d.mts +32 -0
  1136. package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
  1137. package/validation/rules/VariablesAreInputTypesRule.js +0 -8
  1138. package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
  1139. package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
  1140. package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
  1141. package/validation/rules/VariablesInAllowedPositionRule.d.mts +28 -0
  1142. package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
  1143. package/validation/rules/VariablesInAllowedPositionRule.js +0 -20
  1144. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  1145. package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
  1146. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  1147. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +41 -0
  1148. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
  1149. package/validation/rules/custom/NoDeprecatedCustomRule.js +0 -10
  1150. package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
  1151. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
  1152. package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
  1153. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +28 -0
  1154. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
  1155. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +0 -10
  1156. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
  1157. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
  1158. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
  1159. package/validation/specifiedRules.d.mts +2 -3
  1160. package/validation/specifiedRules.d.ts +2 -3
  1161. package/validation/specifiedRules.js +0 -46
  1162. package/validation/specifiedRules.js.map +1 -1
  1163. package/validation/specifiedRules.mjs +0 -46
  1164. package/validation/specifiedRules.mjs.map +1 -1
  1165. package/validation/validate.d.mts +65 -7
  1166. package/validation/validate.d.ts +65 -7
  1167. package/validation/validate.js +0 -41
  1168. package/validation/validate.js.map +1 -1
  1169. package/validation/validate.mjs +0 -41
  1170. package/validation/validate.mjs.map +1 -1
  1171. package/version.d.mts +3 -6
  1172. package/version.d.ts +3 -6
  1173. package/version.js +2 -10
  1174. package/version.js.map +1 -1
  1175. package/version.mjs +2 -10
  1176. package/version.mjs.map +1 -1
@@ -1,31 +1,25 @@
1
- /**
2
- * Prints a string as a GraphQL StringValue literal. Replaces control characters
3
- * and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
4
- */
5
1
  export function printString(str) {
6
2
  return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
7
3
  }
8
- // eslint-disable-next-line no-control-regex
9
4
  const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
10
5
  function escapedReplacer(str) {
11
6
  return escapeSequences[str.charCodeAt(0)];
12
7
  }
13
- // prettier-ignore
14
8
  const escapeSequences = [
15
9
  '\\u0000', '\\u0001', '\\u0002', '\\u0003', '\\u0004', '\\u0005', '\\u0006', '\\u0007',
16
10
  '\\b', '\\t', '\\n', '\\u000B', '\\f', '\\r', '\\u000E', '\\u000F',
17
11
  '\\u0010', '\\u0011', '\\u0012', '\\u0013', '\\u0014', '\\u0015', '\\u0016', '\\u0017',
18
12
  '\\u0018', '\\u0019', '\\u001A', '\\u001B', '\\u001C', '\\u001D', '\\u001E', '\\u001F',
19
13
  '', '', '\\"', '', '', '', '', '',
20
- '', '', '', '', '', '', '', '', // 2F
21
14
  '', '', '', '', '', '', '', '',
22
- '', '', '', '', '', '', '', '', // 3F
23
15
  '', '', '', '', '', '', '', '',
24
- '', '', '', '', '', '', '', '', // 4F
25
16
  '', '', '', '', '', '', '', '',
26
- '', '', '', '', '\\\\', '', '', '', // 5F
27
17
  '', '', '', '', '', '', '', '',
28
- '', '', '', '', '', '', '', '', // 6F
18
+ '', '', '', '', '', '', '', '',
19
+ '', '', '', '', '', '', '', '',
20
+ '', '', '', '', '\\\\', '', '', '',
21
+ '', '', '', '', '', '', '', '',
22
+ '', '', '', '', '', '', '', '',
29
23
  '', '', '', '', '', '', '', '',
30
24
  '', '', '', '', '', '', '', '\\u007F',
31
25
  '\\u0080', '\\u0081', '\\u0082', '\\u0083', '\\u0084', '\\u0085', '\\u0086', '\\u0087',
@@ -1 +1 @@
1
- {"version":3,"file":"printString.js","sourceRoot":"","sources":["../../src/language/printString.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC;AAC5D,CAAC;AAED,4CAA4C;AAC5C,MAAM,aAAa,GAAG,+BAA+B,CAAC;AAEtD,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,kBAAkB;AAClB,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,KAAK,EAAM,KAAK,EAAM,KAAK,EAAM,SAAS,EAAE,KAAK,EAAM,KAAK,EAAM,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,EAAE,EAAS,EAAE,EAAS,KAAK,EAAM,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAE,KAAK;IACtF,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAE,KAAK;IACtF,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAE,KAAK;IACtF,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,MAAM,EAAK,EAAE,EAAS,EAAE,EAAS,EAAE,EAAE,KAAK;IACtF,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAE,KAAK;IACtF,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CACvF,CAAC","sourcesContent":["/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n */\nexport function printString(str: string): string {\n return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n}\n\n// eslint-disable-next-line no-control-regex\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str: string): string {\n return escapeSequences[str.charCodeAt(0)];\n}\n\n// prettier-ignore\nconst escapeSequences = [\n '\\\\u0000', '\\\\u0001', '\\\\u0002', '\\\\u0003', '\\\\u0004', '\\\\u0005', '\\\\u0006', '\\\\u0007',\n '\\\\b', '\\\\t', '\\\\n', '\\\\u000B', '\\\\f', '\\\\r', '\\\\u000E', '\\\\u000F',\n '\\\\u0010', '\\\\u0011', '\\\\u0012', '\\\\u0013', '\\\\u0014', '\\\\u0015', '\\\\u0016', '\\\\u0017',\n '\\\\u0018', '\\\\u0019', '\\\\u001A', '\\\\u001B', '\\\\u001C', '\\\\u001D', '\\\\u001E', '\\\\u001F',\n '', '', '\\\\\"', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 2F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 3F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 4F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '\\\\\\\\', '', '', '', // 5F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 6F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '\\\\u007F',\n '\\\\u0080', '\\\\u0081', '\\\\u0082', '\\\\u0083', '\\\\u0084', '\\\\u0085', '\\\\u0086', '\\\\u0087',\n '\\\\u0088', '\\\\u0089', '\\\\u008A', '\\\\u008B', '\\\\u008C', '\\\\u008D', '\\\\u008E', '\\\\u008F',\n '\\\\u0090', '\\\\u0091', '\\\\u0092', '\\\\u0093', '\\\\u0094', '\\\\u0095', '\\\\u0096', '\\\\u0097',\n '\\\\u0098', '\\\\u0099', '\\\\u009A', '\\\\u009B', '\\\\u009C', '\\\\u009D', '\\\\u009E', '\\\\u009F',\n];\n"]}
1
+ {"version":3,"file":"printString.js","sourceRoot":"","sources":["../../src/language/printString.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC;AAC5D,CAAC;AAID,MAAM,aAAa,GAAG,+BAA+B,CAAC;AAEtD,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,KAAK,EAAM,KAAK,EAAM,KAAK,EAAM,SAAS,EAAE,KAAK,EAAM,KAAK,EAAM,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,EAAE,EAAS,EAAE,EAAS,KAAK,EAAM,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,MAAM,EAAK,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CACvF,CAAC","sourcesContent":["/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n *\n * @internal\n */\nexport function printString(str: string): string {\n return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n}\n\n/** @internal */\n// eslint-disable-next-line no-control-regex\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str: string): string {\n return escapeSequences[str.charCodeAt(0)];\n}\n\n// prettier-ignore\nconst escapeSequences = [\n '\\\\u0000', '\\\\u0001', '\\\\u0002', '\\\\u0003', '\\\\u0004', '\\\\u0005', '\\\\u0006', '\\\\u0007',\n '\\\\b', '\\\\t', '\\\\n', '\\\\u000B', '\\\\f', '\\\\r', '\\\\u000E', '\\\\u000F',\n '\\\\u0010', '\\\\u0011', '\\\\u0012', '\\\\u0013', '\\\\u0014', '\\\\u0015', '\\\\u0016', '\\\\u0017',\n '\\\\u0018', '\\\\u0019', '\\\\u001A', '\\\\u001B', '\\\\u001C', '\\\\u001D', '\\\\u001E', '\\\\u001F',\n '', '', '\\\\\"', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 2F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 3F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 4F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '\\\\\\\\', '', '', '', // 5F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', // 6F\n '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '\\\\u007F',\n '\\\\u0080', '\\\\u0081', '\\\\u0082', '\\\\u0083', '\\\\u0084', '\\\\u0085', '\\\\u0086', '\\\\u0087',\n '\\\\u0088', '\\\\u0089', '\\\\u008A', '\\\\u008B', '\\\\u008C', '\\\\u008D', '\\\\u008E', '\\\\u008F',\n '\\\\u0090', '\\\\u0091', '\\\\u0092', '\\\\u0093', '\\\\u0094', '\\\\u0095', '\\\\u0096', '\\\\u0097',\n '\\\\u0098', '\\\\u0099', '\\\\u009A', '\\\\u009B', '\\\\u009C', '\\\\u009D', '\\\\u009E', '\\\\u009F',\n];\n"]}
@@ -1,6 +1,18 @@
1
+ /** @category Printing */
1
2
  import type { ASTNode } from "./ast.mjs";
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;
@@ -1,6 +1,18 @@
1
+ /** @category Printing */
1
2
  import type { ASTNode } from "./ast.js";
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;
@@ -4,10 +4,6 @@ exports.print = print;
4
4
  const blockString_ts_1 = require("./blockString.js");
5
5
  const printString_ts_1 = require("./printString.js");
6
6
  const visitor_ts_1 = require("./visitor.js");
7
- /**
8
- * Converts an AST into a string, using one set of reasonable
9
- * formatting rules.
10
- */
11
7
  function print(ast) {
12
8
  return (0, visitor_ts_1.visit)(ast, printDocASTReducer);
13
9
  }
@@ -15,7 +11,6 @@ const MAX_LINE_LENGTH = 80;
15
11
  const printDocASTReducer = {
16
12
  Name: { leave: (node) => node.value },
17
13
  Variable: { leave: (node) => '$' + node.name },
18
- // Document
19
14
  Document: {
20
15
  leave: (node) => join(node.definitions, '\n\n'),
21
16
  },
@@ -30,8 +25,6 @@ const printDocASTReducer = {
30
25
  join([node.name, varDefs]),
31
26
  join(node.directives, ' '),
32
27
  ], ' ');
33
- // Anonymous queries with no directives or variable definitions can use
34
- // the query short form.
35
28
  return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;
36
29
  },
37
30
  },
@@ -56,7 +49,6 @@ const printDocASTReducer = {
56
49
  },
57
50
  Argument: { leave: ({ name, value }) => name + ': ' + value },
58
51
  FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },
59
- // Fragments
60
52
  FragmentSpread: {
61
53
  leave: ({ name, arguments: args, directives }) => {
62
54
  const prefix = '...' + name;
@@ -73,13 +65,10 @@ const printDocASTReducer = {
73
65
  },
74
66
  FragmentDefinition: {
75
67
  leave: ({ name, typeCondition, variableDefinitions, directives, selectionSet, description, }) => wrap('', description, '\n') +
76
- // Note: fragment variable definitions are experimental and may be changed
77
- // or removed in the future.
78
68
  `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +
79
69
  `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +
80
70
  selectionSet,
81
71
  },
82
- // Value
83
72
  IntValue: { leave: ({ value }) => value },
84
73
  FloatValue: { leave: ({ value }) => value },
85
74
  StringValue: {
@@ -104,15 +93,12 @@ const printDocASTReducer = {
104
93
  },
105
94
  },
106
95
  ObjectField: { leave: ({ name, value }) => name + ': ' + value },
107
- // Directive
108
96
  Directive: {
109
97
  leave: ({ name, arguments: args }) => '@' + name + wrap('(', join(args, ', '), ')'),
110
98
  },
111
- // Type
112
99
  NamedType: { leave: ({ name }) => name },
113
100
  ListType: { leave: ({ type }) => '[' + type + ']' },
114
101
  NonNullType: { leave: ({ type }) => type + '!' },
115
- // Type System Definitions
116
102
  SchemaDefinition: {
117
103
  leave: ({ description, directives, operationTypes }) => wrap('', description, '\n') +
118
104
  join(['schema', join(directives, ' '), block(operationTypes)], ' '),
@@ -226,7 +212,6 @@ const printDocASTReducer = {
226
212
  DirectiveExtension: {
227
213
  leave: ({ name, directives }) => join(['extend directive @' + name, join(directives, ' ')], ' '),
228
214
  },
229
- // Schema Coordinates
230
215
  TypeCoordinate: { leave: ({ name }) => name },
231
216
  MemberCoordinate: {
232
217
  leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),
@@ -239,22 +224,12 @@ const printDocASTReducer = {
239
224
  leave: ({ name, argumentName }) => join(['@', name, wrap('(', argumentName, ':)')]),
240
225
  },
241
226
  };
242
- /**
243
- * Given maybeArray, print an empty string if it is null or empty, otherwise
244
- * print all items together separated by separator if provided
245
- */
246
227
  function join(maybeArray, separator = '') {
247
228
  return (maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? '');
248
229
  }
249
- /**
250
- * Given array, print each item on its own line, wrapped in an indented `{ }` block.
251
- */
252
230
  function block(array) {
253
231
  return wrap('{\n', indent(join(array, '\n')), '\n}');
254
232
  }
255
- /**
256
- * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
257
- */
258
233
  function wrap(start, maybeString, end = '') {
259
234
  return maybeString != null && maybeString !== ''
260
235
  ? start + maybeString + end
@@ -1 +1 @@
1
- {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/language/printer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type { ASTNode } from './ast.ts';\nimport { printBlockString } from './blockString.ts';\nimport { printString } from './printString.ts';\nimport type { ASTReducer } from './visitor.ts';\nimport { visit } from './visitor.ts';\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nexport function print(ast: ASTNode): string {\n return visit(ast, printDocASTReducer);\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nconst printDocASTReducer: ASTReducer<string> = {\n Name: { leave: (node) => node.value },\n Variable: { leave: (node) => '$' + node.name },\n\n // Document\n\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n\n OperationDefinition: {\n leave(node) {\n const varDefs = hasMultilineItems(node.variableDefinitions)\n ? wrap('(\\n', join(node.variableDefinitions, '\\n'), '\\n)')\n : wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix =\n wrap('', node.description, '\\n') +\n join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n );\n\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives, description }) =>\n wrap('', description, '\\n') +\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: { leave: ({ selections }) => block(selections) },\n\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = join([wrap('', alias, ': '), name], '');\n\n return join([\n wrappedLineAndArgs(prefix, args),\n wrap(' ', join(directives, ' ')),\n wrap(' ', selectionSet),\n ]);\n },\n },\n Argument: { leave: ({ name, value }) => name + ': ' + value },\n FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },\n\n // Fragments\n\n FragmentSpread: {\n leave: ({ name, arguments: args, directives }) => {\n const prefix = '...' + name;\n return (\n wrappedLineAndArgs(prefix, args) + wrap(' ', join(directives, ' '))\n );\n },\n },\n\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n\n FragmentDefinition: {\n leave: ({\n name,\n typeCondition,\n variableDefinitions,\n directives,\n selectionSet,\n description,\n }) =>\n wrap('', description, '\\n') +\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n\n // Value\n\n IntValue: { leave: ({ value }) => value },\n FloatValue: { leave: ({ value }) => value },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString === true ? printBlockString(value) : printString(value),\n },\n BooleanValue: { leave: ({ value }) => (value ? 'true' : 'false') },\n NullValue: { leave: () => 'null' },\n EnumValue: { leave: ({ value }) => value },\n ListValue: {\n leave: ({ values }) => {\n const valuesLine = '[' + join(values, ', ') + ']';\n\n if (valuesLine.length > MAX_LINE_LENGTH) {\n return '[\\n' + indent(join(values, '\\n')) + '\\n]';\n }\n return valuesLine;\n },\n },\n ObjectValue: {\n leave: ({ fields }) => {\n const fieldsLine = '{ ' + join(fields, ', ') + ' }';\n return fieldsLine.length > MAX_LINE_LENGTH ? block(fields) : fieldsLine;\n },\n },\n ObjectField: { leave: ({ name, value }) => name + ': ' + value },\n\n // Directive\n\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n\n // Type\n\n NamedType: { leave: ({ name }) => name },\n ListType: { leave: ({ type }) => '[' + type + ']' },\n NonNullType: { leave: ({ type }) => type + '!' },\n\n // Type System Definitions\n\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveDefinition: {\n leave: ({\n description,\n name,\n arguments: args,\n directives,\n repeatable,\n locations,\n }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n wrap(' ', join(directives, ' ')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveExtension: {\n leave: ({ name, directives }) =>\n join(['extend directive @' + name, join(directives, ' ')], ' '),\n },\n\n // Schema Coordinates\n\n TypeCoordinate: { leave: ({ name }) => name },\n\n MemberCoordinate: {\n leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),\n },\n\n ArgumentCoordinate: {\n leave: ({ name, fieldName, argumentName }) =>\n join([name, wrap('.', fieldName), wrap('(', argumentName, ':)')]),\n },\n\n DirectiveCoordinate: { leave: ({ name }) => join(['@', name]) },\n\n DirectiveArgumentCoordinate: {\n leave: ({ name, argumentName }) =>\n join(['@', name, wrap('(', argumentName, ':)')]),\n },\n};\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\nfunction join(\n maybeArray: Maybe<ReadonlyArray<string | undefined>>,\n separator = '',\n): string {\n return (\n maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? ''\n );\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n */\nfunction block(array: Maybe<ReadonlyArray<string | undefined>>): string {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\nfunction wrap(\n start: string,\n maybeString: Maybe<string>,\n end: string = '',\n): string {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str: string): string {\n return wrap(' ', str.replaceAll('\\n', '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray: Maybe<ReadonlyArray<string>>): boolean {\n return maybeArray?.some((str) => str.includes('\\n')) ?? false;\n}\n\nfunction wrappedLineAndArgs(\n prefix: string,\n args: ReadonlyArray<string> | undefined,\n): string {\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n return argsLine;\n}\n"]}
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/language/printer.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Printing */\n\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type { ASTNode } from './ast.ts';\nimport { printBlockString } from './blockString.ts';\nimport { printString } from './printString.ts';\nimport type { ASTReducer } from './visitor.ts';\nimport { visit } from './visitor.ts';\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n * @param ast - The GraphQL AST node to print.\n * @returns A stable string representation of the AST.\n * @example\n * ```ts\n * import { parse, print } from 'graphql';\n *\n * const ast = parse('{ hero { name } }');\n * const text = print(ast);\n *\n * text; // => '{\\n hero {\\n name\\n }\\n}'\n * ```\n */\nexport function print(ast: ASTNode): string {\n return visit(ast, printDocASTReducer);\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nconst printDocASTReducer: ASTReducer<string> = {\n Name: { leave: (node) => node.value },\n Variable: { leave: (node) => '$' + node.name },\n\n // Document\n\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n\n OperationDefinition: {\n leave(node) {\n const varDefs = hasMultilineItems(node.variableDefinitions)\n ? wrap('(\\n', join(node.variableDefinitions, '\\n'), '\\n)')\n : wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix =\n wrap('', node.description, '\\n') +\n join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n );\n\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives, description }) =>\n wrap('', description, '\\n') +\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: { leave: ({ selections }) => block(selections) },\n\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = join([wrap('', alias, ': '), name], '');\n\n return join([\n wrappedLineAndArgs(prefix, args),\n wrap(' ', join(directives, ' ')),\n wrap(' ', selectionSet),\n ]);\n },\n },\n Argument: { leave: ({ name, value }) => name + ': ' + value },\n FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },\n\n // Fragments\n\n FragmentSpread: {\n leave: ({ name, arguments: args, directives }) => {\n const prefix = '...' + name;\n return (\n wrappedLineAndArgs(prefix, args) + wrap(' ', join(directives, ' '))\n );\n },\n },\n\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n\n FragmentDefinition: {\n leave: ({\n name,\n typeCondition,\n variableDefinitions,\n directives,\n selectionSet,\n description,\n }) =>\n wrap('', description, '\\n') +\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n\n // Value\n\n IntValue: { leave: ({ value }) => value },\n FloatValue: { leave: ({ value }) => value },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString === true ? printBlockString(value) : printString(value),\n },\n BooleanValue: { leave: ({ value }) => (value ? 'true' : 'false') },\n NullValue: { leave: () => 'null' },\n EnumValue: { leave: ({ value }) => value },\n ListValue: {\n leave: ({ values }) => {\n const valuesLine = '[' + join(values, ', ') + ']';\n\n if (valuesLine.length > MAX_LINE_LENGTH) {\n return '[\\n' + indent(join(values, '\\n')) + '\\n]';\n }\n return valuesLine;\n },\n },\n ObjectValue: {\n leave: ({ fields }) => {\n const fieldsLine = '{ ' + join(fields, ', ') + ' }';\n return fieldsLine.length > MAX_LINE_LENGTH ? block(fields) : fieldsLine;\n },\n },\n ObjectField: { leave: ({ name, value }) => name + ': ' + value },\n\n // Directive\n\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n\n // Type\n\n NamedType: { leave: ({ name }) => name },\n ListType: { leave: ({ type }) => '[' + type + ']' },\n NonNullType: { leave: ({ type }) => type + '!' },\n\n // Type System Definitions\n\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveDefinition: {\n leave: ({\n description,\n name,\n arguments: args,\n directives,\n repeatable,\n locations,\n }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n wrap(' ', join(directives, ' ')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveExtension: {\n leave: ({ name, directives }) =>\n join(['extend directive @' + name, join(directives, ' ')], ' '),\n },\n\n // Schema Coordinates\n\n TypeCoordinate: { leave: ({ name }) => name },\n\n MemberCoordinate: {\n leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),\n },\n\n ArgumentCoordinate: {\n leave: ({ name, fieldName, argumentName }) =>\n join([name, wrap('.', fieldName), wrap('(', argumentName, ':)')]),\n },\n\n DirectiveCoordinate: { leave: ({ name }) => join(['@', name]) },\n\n DirectiveArgumentCoordinate: {\n leave: ({ name, argumentName }) =>\n join(['@', name, wrap('(', argumentName, ':)')]),\n },\n};\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n *\n * @internal\n */\nfunction join(\n maybeArray: Maybe<ReadonlyArray<string | undefined>>,\n separator = '',\n): string {\n return (\n maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? ''\n );\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n *\n * @internal\n */\nfunction block(array: Maybe<ReadonlyArray<string | undefined>>): string {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n *\n * @internal\n */\nfunction wrap(\n start: string,\n maybeString: Maybe<string>,\n end: string = '',\n): string {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str: string): string {\n return wrap(' ', str.replaceAll('\\n', '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray: Maybe<ReadonlyArray<string>>): boolean {\n return maybeArray?.some((str) => str.includes('\\n')) ?? false;\n}\n\nfunction wrappedLineAndArgs(\n prefix: string,\n args: ReadonlyArray<string> | undefined,\n): string {\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n return argsLine;\n}\n"]}
@@ -1,10 +1,6 @@
1
1
  import { printBlockString } from "./blockString.mjs";
2
2
  import { printString } from "./printString.mjs";
3
3
  import { visit } from "./visitor.mjs";
4
- /**
5
- * Converts an AST into a string, using one set of reasonable
6
- * formatting rules.
7
- */
8
4
  export function print(ast) {
9
5
  return visit(ast, printDocASTReducer);
10
6
  }
@@ -12,7 +8,6 @@ const MAX_LINE_LENGTH = 80;
12
8
  const printDocASTReducer = {
13
9
  Name: { leave: (node) => node.value },
14
10
  Variable: { leave: (node) => '$' + node.name },
15
- // Document
16
11
  Document: {
17
12
  leave: (node) => join(node.definitions, '\n\n'),
18
13
  },
@@ -27,8 +22,6 @@ const printDocASTReducer = {
27
22
  join([node.name, varDefs]),
28
23
  join(node.directives, ' '),
29
24
  ], ' ');
30
- // Anonymous queries with no directives or variable definitions can use
31
- // the query short form.
32
25
  return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;
33
26
  },
34
27
  },
@@ -53,7 +46,6 @@ const printDocASTReducer = {
53
46
  },
54
47
  Argument: { leave: ({ name, value }) => name + ': ' + value },
55
48
  FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },
56
- // Fragments
57
49
  FragmentSpread: {
58
50
  leave: ({ name, arguments: args, directives }) => {
59
51
  const prefix = '...' + name;
@@ -70,13 +62,10 @@ const printDocASTReducer = {
70
62
  },
71
63
  FragmentDefinition: {
72
64
  leave: ({ name, typeCondition, variableDefinitions, directives, selectionSet, description, }) => wrap('', description, '\n') +
73
- // Note: fragment variable definitions are experimental and may be changed
74
- // or removed in the future.
75
65
  `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +
76
66
  `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +
77
67
  selectionSet,
78
68
  },
79
- // Value
80
69
  IntValue: { leave: ({ value }) => value },
81
70
  FloatValue: { leave: ({ value }) => value },
82
71
  StringValue: {
@@ -101,15 +90,12 @@ const printDocASTReducer = {
101
90
  },
102
91
  },
103
92
  ObjectField: { leave: ({ name, value }) => name + ': ' + value },
104
- // Directive
105
93
  Directive: {
106
94
  leave: ({ name, arguments: args }) => '@' + name + wrap('(', join(args, ', '), ')'),
107
95
  },
108
- // Type
109
96
  NamedType: { leave: ({ name }) => name },
110
97
  ListType: { leave: ({ type }) => '[' + type + ']' },
111
98
  NonNullType: { leave: ({ type }) => type + '!' },
112
- // Type System Definitions
113
99
  SchemaDefinition: {
114
100
  leave: ({ description, directives, operationTypes }) => wrap('', description, '\n') +
115
101
  join(['schema', join(directives, ' '), block(operationTypes)], ' '),
@@ -223,7 +209,6 @@ const printDocASTReducer = {
223
209
  DirectiveExtension: {
224
210
  leave: ({ name, directives }) => join(['extend directive @' + name, join(directives, ' ')], ' '),
225
211
  },
226
- // Schema Coordinates
227
212
  TypeCoordinate: { leave: ({ name }) => name },
228
213
  MemberCoordinate: {
229
214
  leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),
@@ -236,22 +221,12 @@ const printDocASTReducer = {
236
221
  leave: ({ name, argumentName }) => join(['@', name, wrap('(', argumentName, ':)')]),
237
222
  },
238
223
  };
239
- /**
240
- * Given maybeArray, print an empty string if it is null or empty, otherwise
241
- * print all items together separated by separator if provided
242
- */
243
224
  function join(maybeArray, separator = '') {
244
225
  return (maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? '');
245
226
  }
246
- /**
247
- * Given array, print each item on its own line, wrapped in an indented `{ }` block.
248
- */
249
227
  function block(array) {
250
228
  return wrap('{\n', indent(join(array, '\n')), '\n}');
251
229
  }
252
- /**
253
- * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
254
- */
255
230
  function wrap(start, maybeString, end = '') {
256
231
  return maybeString != null && maybeString !== ''
257
232
  ? start + maybeString + end
@@ -1 +1 @@
1
- {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/language/printer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type { ASTNode } from './ast.ts';\nimport { printBlockString } from './blockString.ts';\nimport { printString } from './printString.ts';\nimport type { ASTReducer } from './visitor.ts';\nimport { visit } from './visitor.ts';\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nexport function print(ast: ASTNode): string {\n return visit(ast, printDocASTReducer);\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nconst printDocASTReducer: ASTReducer<string> = {\n Name: { leave: (node) => node.value },\n Variable: { leave: (node) => '$' + node.name },\n\n // Document\n\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n\n OperationDefinition: {\n leave(node) {\n const varDefs = hasMultilineItems(node.variableDefinitions)\n ? wrap('(\\n', join(node.variableDefinitions, '\\n'), '\\n)')\n : wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix =\n wrap('', node.description, '\\n') +\n join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n );\n\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives, description }) =>\n wrap('', description, '\\n') +\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: { leave: ({ selections }) => block(selections) },\n\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = join([wrap('', alias, ': '), name], '');\n\n return join([\n wrappedLineAndArgs(prefix, args),\n wrap(' ', join(directives, ' ')),\n wrap(' ', selectionSet),\n ]);\n },\n },\n Argument: { leave: ({ name, value }) => name + ': ' + value },\n FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },\n\n // Fragments\n\n FragmentSpread: {\n leave: ({ name, arguments: args, directives }) => {\n const prefix = '...' + name;\n return (\n wrappedLineAndArgs(prefix, args) + wrap(' ', join(directives, ' '))\n );\n },\n },\n\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n\n FragmentDefinition: {\n leave: ({\n name,\n typeCondition,\n variableDefinitions,\n directives,\n selectionSet,\n description,\n }) =>\n wrap('', description, '\\n') +\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n\n // Value\n\n IntValue: { leave: ({ value }) => value },\n FloatValue: { leave: ({ value }) => value },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString === true ? printBlockString(value) : printString(value),\n },\n BooleanValue: { leave: ({ value }) => (value ? 'true' : 'false') },\n NullValue: { leave: () => 'null' },\n EnumValue: { leave: ({ value }) => value },\n ListValue: {\n leave: ({ values }) => {\n const valuesLine = '[' + join(values, ', ') + ']';\n\n if (valuesLine.length > MAX_LINE_LENGTH) {\n return '[\\n' + indent(join(values, '\\n')) + '\\n]';\n }\n return valuesLine;\n },\n },\n ObjectValue: {\n leave: ({ fields }) => {\n const fieldsLine = '{ ' + join(fields, ', ') + ' }';\n return fieldsLine.length > MAX_LINE_LENGTH ? block(fields) : fieldsLine;\n },\n },\n ObjectField: { leave: ({ name, value }) => name + ': ' + value },\n\n // Directive\n\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n\n // Type\n\n NamedType: { leave: ({ name }) => name },\n ListType: { leave: ({ type }) => '[' + type + ']' },\n NonNullType: { leave: ({ type }) => type + '!' },\n\n // Type System Definitions\n\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveDefinition: {\n leave: ({\n description,\n name,\n arguments: args,\n directives,\n repeatable,\n locations,\n }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n wrap(' ', join(directives, ' ')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveExtension: {\n leave: ({ name, directives }) =>\n join(['extend directive @' + name, join(directives, ' ')], ' '),\n },\n\n // Schema Coordinates\n\n TypeCoordinate: { leave: ({ name }) => name },\n\n MemberCoordinate: {\n leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),\n },\n\n ArgumentCoordinate: {\n leave: ({ name, fieldName, argumentName }) =>\n join([name, wrap('.', fieldName), wrap('(', argumentName, ':)')]),\n },\n\n DirectiveCoordinate: { leave: ({ name }) => join(['@', name]) },\n\n DirectiveArgumentCoordinate: {\n leave: ({ name, argumentName }) =>\n join(['@', name, wrap('(', argumentName, ':)')]),\n },\n};\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\nfunction join(\n maybeArray: Maybe<ReadonlyArray<string | undefined>>,\n separator = '',\n): string {\n return (\n maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? ''\n );\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n */\nfunction block(array: Maybe<ReadonlyArray<string | undefined>>): string {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\nfunction wrap(\n start: string,\n maybeString: Maybe<string>,\n end: string = '',\n): string {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str: string): string {\n return wrap(' ', str.replaceAll('\\n', '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray: Maybe<ReadonlyArray<string>>): boolean {\n return maybeArray?.some((str) => str.includes('\\n')) ?? false;\n}\n\nfunction wrappedLineAndArgs(\n prefix: string,\n args: ReadonlyArray<string> | undefined,\n): string {\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n return argsLine;\n}\n"]}
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/language/printer.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Printing */\n\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type { ASTNode } from './ast.ts';\nimport { printBlockString } from './blockString.ts';\nimport { printString } from './printString.ts';\nimport type { ASTReducer } from './visitor.ts';\nimport { visit } from './visitor.ts';\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n * @param ast - The GraphQL AST node to print.\n * @returns A stable string representation of the AST.\n * @example\n * ```ts\n * import { parse, print } from 'graphql';\n *\n * const ast = parse('{ hero { name } }');\n * const text = print(ast);\n *\n * text; // => '{\\n hero {\\n name\\n }\\n}'\n * ```\n */\nexport function print(ast: ASTNode): string {\n return visit(ast, printDocASTReducer);\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nconst printDocASTReducer: ASTReducer<string> = {\n Name: { leave: (node) => node.value },\n Variable: { leave: (node) => '$' + node.name },\n\n // Document\n\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n\n OperationDefinition: {\n leave(node) {\n const varDefs = hasMultilineItems(node.variableDefinitions)\n ? wrap('(\\n', join(node.variableDefinitions, '\\n'), '\\n)')\n : wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix =\n wrap('', node.description, '\\n') +\n join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n );\n\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives, description }) =>\n wrap('', description, '\\n') +\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: { leave: ({ selections }) => block(selections) },\n\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = join([wrap('', alias, ': '), name], '');\n\n return join([\n wrappedLineAndArgs(prefix, args),\n wrap(' ', join(directives, ' ')),\n wrap(' ', selectionSet),\n ]);\n },\n },\n Argument: { leave: ({ name, value }) => name + ': ' + value },\n FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },\n\n // Fragments\n\n FragmentSpread: {\n leave: ({ name, arguments: args, directives }) => {\n const prefix = '...' + name;\n return (\n wrappedLineAndArgs(prefix, args) + wrap(' ', join(directives, ' '))\n );\n },\n },\n\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n\n FragmentDefinition: {\n leave: ({\n name,\n typeCondition,\n variableDefinitions,\n directives,\n selectionSet,\n description,\n }) =>\n wrap('', description, '\\n') +\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n\n // Value\n\n IntValue: { leave: ({ value }) => value },\n FloatValue: { leave: ({ value }) => value },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString === true ? printBlockString(value) : printString(value),\n },\n BooleanValue: { leave: ({ value }) => (value ? 'true' : 'false') },\n NullValue: { leave: () => 'null' },\n EnumValue: { leave: ({ value }) => value },\n ListValue: {\n leave: ({ values }) => {\n const valuesLine = '[' + join(values, ', ') + ']';\n\n if (valuesLine.length > MAX_LINE_LENGTH) {\n return '[\\n' + indent(join(values, '\\n')) + '\\n]';\n }\n return valuesLine;\n },\n },\n ObjectValue: {\n leave: ({ fields }) => {\n const fieldsLine = '{ ' + join(fields, ', ') + ' }';\n return fieldsLine.length > MAX_LINE_LENGTH ? block(fields) : fieldsLine;\n },\n },\n ObjectField: { leave: ({ name, value }) => name + ': ' + value },\n\n // Directive\n\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n\n // Type\n\n NamedType: { leave: ({ name }) => name },\n ListType: { leave: ({ type }) => '[' + type + ']' },\n NonNullType: { leave: ({ type }) => type + '!' },\n\n // Type System Definitions\n\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveDefinition: {\n leave: ({\n description,\n name,\n arguments: args,\n directives,\n repeatable,\n locations,\n }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n wrap(' ', join(directives, ' ')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveExtension: {\n leave: ({ name, directives }) =>\n join(['extend directive @' + name, join(directives, ' ')], ' '),\n },\n\n // Schema Coordinates\n\n TypeCoordinate: { leave: ({ name }) => name },\n\n MemberCoordinate: {\n leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),\n },\n\n ArgumentCoordinate: {\n leave: ({ name, fieldName, argumentName }) =>\n join([name, wrap('.', fieldName), wrap('(', argumentName, ':)')]),\n },\n\n DirectiveCoordinate: { leave: ({ name }) => join(['@', name]) },\n\n DirectiveArgumentCoordinate: {\n leave: ({ name, argumentName }) =>\n join(['@', name, wrap('(', argumentName, ':)')]),\n },\n};\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n *\n * @internal\n */\nfunction join(\n maybeArray: Maybe<ReadonlyArray<string | undefined>>,\n separator = '',\n): string {\n return (\n maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? ''\n );\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n *\n * @internal\n */\nfunction block(array: Maybe<ReadonlyArray<string | undefined>>): string {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n *\n * @internal\n */\nfunction wrap(\n start: string,\n maybeString: Maybe<string>,\n end: string = '',\n): string {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str: string): string {\n return wrap(' ', str.replaceAll('\\n', '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray: Maybe<ReadonlyArray<string>>): boolean {\n return maybeArray?.some((str) => str.includes('\\n')) ?? false;\n}\n\nfunction wrappedLineAndArgs(\n prefix: string,\n args: ReadonlyArray<string> | undefined,\n): string {\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n return argsLine;\n}\n"]}
@@ -8,36 +8,50 @@ import type { Source } from "./source.mjs";
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
16
  /**
15
17
  * The previously focused non-ignored token.
18
+ *
19
+ * @internal
16
20
  */
17
21
  lastToken: Token;
18
22
  /**
19
23
  * The currently focused non-ignored token.
24
+ *
25
+ * @internal
20
26
  */
21
27
  token: Token;
22
28
  /**
23
29
  * The (1-indexed) line containing the current token.
24
30
  * Since a schema coordinate may not contain newline, this value is always 1.
31
+ *
32
+ * @internal
25
33
  */
26
34
  line: 1;
27
35
  /**
28
36
  * The character offset at which the current line begins.
29
37
  * Since a schema coordinate may not contain newline, this value is always 0.
38
+ *
39
+ * @internal
30
40
  */
31
41
  lineStart: 0;
32
42
  constructor(source: Source);
33
43
  get [Symbol.toStringTag](): string;
34
44
  /**
35
45
  * Advances the token stream to the next non-ignored token.
46
+ *
47
+ * @internal
36
48
  */
37
49
  advance(): Token;
38
50
  /**
39
51
  * Looks ahead and returns the next non-ignored token, but does not change
40
52
  * the current Lexer token.
53
+ *
54
+ * @internal
41
55
  */
42
56
  lookahead(): Token;
43
57
  }