graphql 0.0.1-test.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/LICENSE +21 -0
  2. package/NotSupportedTSVersion.d.ts +1 -0
  3. package/README.md +158 -0
  4. package/error/GraphQLError.d.ts +142 -0
  5. package/error/GraphQLError.js +267 -0
  6. package/error/GraphQLError.mjs +253 -0
  7. package/error/index.d.ts +7 -0
  8. package/error/index.js +41 -0
  9. package/error/index.mjs +3 -0
  10. package/error/locatedError.d.ts +13 -0
  11. package/error/locatedError.js +40 -0
  12. package/error/locatedError.mjs +32 -0
  13. package/error/syntaxError.d.ts +11 -0
  14. package/error/syntaxError.js +21 -0
  15. package/error/syntaxError.mjs +11 -0
  16. package/execution/collectFields.d.ts +45 -0
  17. package/execution/collectFields.js +229 -0
  18. package/execution/collectFields.mjs +213 -0
  19. package/execution/execute.d.ts +185 -0
  20. package/execution/execute.js +1016 -0
  21. package/execution/execute.mjs +988 -0
  22. package/execution/index.d.ts +14 -0
  23. package/execution/index.js +67 -0
  24. package/execution/index.mjs +9 -0
  25. package/execution/mapAsyncIterator.d.ts +9 -0
  26. package/execution/mapAsyncIterator.js +68 -0
  27. package/execution/mapAsyncIterator.mjs +61 -0
  28. package/execution/subscribe.d.ts +68 -0
  29. package/execution/subscribe.js +261 -0
  30. package/execution/subscribe.mjs +239 -0
  31. package/execution/values.d.ts +81 -0
  32. package/execution/values.js +292 -0
  33. package/execution/values.mjs +255 -0
  34. package/graphql.d.ts +67 -0
  35. package/graphql.js +96 -0
  36. package/graphql.mjs +122 -0
  37. package/index.d.ts +411 -0
  38. package/index.js +1263 -0
  39. package/index.mjs +254 -0
  40. package/jsutils/Maybe.d.ts +2 -0
  41. package/jsutils/Maybe.js +5 -0
  42. package/jsutils/Maybe.mjs +1 -0
  43. package/jsutils/ObjMap.d.ts +16 -0
  44. package/jsutils/ObjMap.js +5 -0
  45. package/jsutils/ObjMap.mjs +1 -0
  46. package/jsutils/Path.d.ts +20 -0
  47. package/jsutils/Path.js +33 -0
  48. package/jsutils/Path.mjs +25 -0
  49. package/jsutils/PromiseOrValue.d.ts +1 -0
  50. package/jsutils/PromiseOrValue.js +5 -0
  51. package/jsutils/PromiseOrValue.mjs +1 -0
  52. package/jsutils/devAssert.d.ts +1 -0
  53. package/jsutils/devAssert.js +14 -0
  54. package/jsutils/devAssert.mjs +7 -0
  55. package/jsutils/didYouMean.d.ts +8 -0
  56. package/jsutils/didYouMean.js +38 -0
  57. package/jsutils/didYouMean.mjs +32 -0
  58. package/jsutils/groupBy.d.ts +7 -0
  59. package/jsutils/groupBy.js +26 -0
  60. package/jsutils/groupBy.mjs +19 -0
  61. package/jsutils/identityFunc.d.ts +4 -0
  62. package/jsutils/identityFunc.js +13 -0
  63. package/jsutils/identityFunc.mjs +6 -0
  64. package/jsutils/inspect.d.ts +4 -0
  65. package/jsutils/inspect.js +121 -0
  66. package/jsutils/inspect.mjs +115 -0
  67. package/jsutils/instanceOf.d.ts +16 -0
  68. package/jsutils/instanceOf.js +60 -0
  69. package/jsutils/instanceOf.mjs +52 -0
  70. package/jsutils/invariant.d.ts +4 -0
  71. package/jsutils/invariant.js +16 -0
  72. package/jsutils/invariant.mjs +9 -0
  73. package/jsutils/isAsyncIterable.d.ts +7 -0
  74. package/jsutils/isAsyncIterable.js +18 -0
  75. package/jsutils/isAsyncIterable.mjs +11 -0
  76. package/jsutils/isIterableObject.d.ts +20 -0
  77. package/jsutils/isIterableObject.js +32 -0
  78. package/jsutils/isIterableObject.mjs +25 -0
  79. package/jsutils/isObjectLike.d.ts +7 -0
  80. package/jsutils/isObjectLike.js +14 -0
  81. package/jsutils/isObjectLike.mjs +7 -0
  82. package/jsutils/isPromise.d.ts +5 -0
  83. package/jsutils/isPromise.js +17 -0
  84. package/jsutils/isPromise.mjs +10 -0
  85. package/jsutils/keyMap.d.ts +32 -0
  86. package/jsutils/keyMap.js +43 -0
  87. package/jsutils/keyMap.mjs +36 -0
  88. package/jsutils/keyValMap.d.ts +23 -0
  89. package/jsutils/keyValMap.js +33 -0
  90. package/jsutils/keyValMap.mjs +26 -0
  91. package/jsutils/mapValue.d.ts +9 -0
  92. package/jsutils/mapValue.js +20 -0
  93. package/jsutils/mapValue.mjs +13 -0
  94. package/jsutils/memoize3.d.ts +9 -0
  95. package/jsutils/memoize3.js +41 -0
  96. package/jsutils/memoize3.mjs +34 -0
  97. package/jsutils/naturalCompare.d.ts +8 -0
  98. package/jsutils/naturalCompare.js +69 -0
  99. package/jsutils/naturalCompare.mjs +61 -0
  100. package/jsutils/printPathArray.d.ts +6 -0
  101. package/jsutils/printPathArray.js +17 -0
  102. package/jsutils/printPathArray.mjs +10 -0
  103. package/jsutils/promiseForObject.d.ts +11 -0
  104. package/jsutils/promiseForObject.js +25 -0
  105. package/jsutils/promiseForObject.mjs +18 -0
  106. package/jsutils/promiseReduce.d.ts +13 -0
  107. package/jsutils/promiseReduce.js +27 -0
  108. package/jsutils/promiseReduce.mjs +20 -0
  109. package/jsutils/suggestionList.d.ts +8 -0
  110. package/jsutils/suggestionList.js +139 -0
  111. package/jsutils/suggestionList.mjs +130 -0
  112. package/jsutils/toError.d.ts +4 -0
  113. package/jsutils/toError.js +25 -0
  114. package/jsutils/toError.mjs +18 -0
  115. package/jsutils/toObjMap.d.ts +5 -0
  116. package/jsutils/toObjMap.js +24 -0
  117. package/jsutils/toObjMap.mjs +17 -0
  118. package/language/ast.d.ts +536 -0
  119. package/language/ast.js +224 -0
  120. package/language/ast.mjs +206 -0
  121. package/language/blockString.d.ts +28 -0
  122. package/language/blockString.js +195 -0
  123. package/language/blockString.mjs +178 -0
  124. package/language/characterClasses.d.ts +47 -0
  125. package/language/characterClasses.js +75 -0
  126. package/language/characterClasses.mjs +64 -0
  127. package/language/directiveLocation.d.ts +32 -0
  128. package/language/directiveLocation.js +40 -0
  129. package/language/directiveLocation.mjs +31 -0
  130. package/language/index.d.ts +97 -0
  131. package/language/index.js +215 -0
  132. package/language/index.mjs +29 -0
  133. package/language/kinds.d.ts +65 -0
  134. package/language/kinds.js +64 -0
  135. package/language/kinds.mjs +55 -0
  136. package/language/lexer.d.ts +45 -0
  137. package/language/lexer.js +1006 -0
  138. package/language/lexer.mjs +902 -0
  139. package/language/location.d.ts +16 -0
  140. package/language/location.js +38 -0
  141. package/language/location.mjs +30 -0
  142. package/language/parser.d.ts +554 -0
  143. package/language/parser.js +1567 -0
  144. package/language/parser.mjs +1524 -0
  145. package/language/predicates.d.ts +33 -0
  146. package/language/predicates.js +109 -0
  147. package/language/predicates.mjs +81 -0
  148. package/language/printLocation.d.ts +14 -0
  149. package/language/printLocation.js +74 -0
  150. package/language/printLocation.mjs +66 -0
  151. package/language/printString.d.ts +5 -0
  152. package/language/printString.js +183 -0
  153. package/language/printString.mjs +176 -0
  154. package/language/printer.d.ts +6 -0
  155. package/language/printer.js +351 -0
  156. package/language/printer.mjs +339 -0
  157. package/language/source.d.ts +25 -0
  158. package/language/source.js +65 -0
  159. package/language/source.mjs +50 -0
  160. package/language/tokenKind.d.ts +34 -0
  161. package/language/tokenKind.js +44 -0
  162. package/language/tokenKind.mjs +35 -0
  163. package/language/visitor.d.ts +194 -0
  164. package/language/visitor.js +377 -0
  165. package/language/visitor.mjs +361 -0
  166. package/package.json +40 -0
  167. package/subscription/index.d.ts +19 -0
  168. package/subscription/index.js +19 -0
  169. package/subscription/index.mjs +19 -0
  170. package/type/assertName.d.ts +10 -0
  171. package/type/assertName.js +59 -0
  172. package/type/assertName.mjs +44 -0
  173. package/type/definition.d.ts +917 -0
  174. package/type/definition.js +1329 -0
  175. package/type/definition.mjs +1167 -0
  176. package/type/directives.d.ts +86 -0
  177. package/type/directives.js +224 -0
  178. package/type/directives.mjs +190 -0
  179. package/type/index.d.ts +150 -0
  180. package/type/index.js +547 -0
  181. package/type/index.mjs +103 -0
  182. package/type/introspection.d.ts +29 -0
  183. package/type/introspection.js +617 -0
  184. package/type/introspection.mjs +550 -0
  185. package/type/scalars.d.ts +19 -0
  186. package/type/scalars.js +359 -0
  187. package/type/scalars.mjs +299 -0
  188. package/type/schema.d.ts +170 -0
  189. package/type/schema.js +402 -0
  190. package/type/schema.mjs +381 -0
  191. package/type/validate.d.ts +17 -0
  192. package/type/validate.js +672 -0
  193. package/type/validate.mjs +647 -0
  194. package/utilities/TypeInfo.d.ts +67 -0
  195. package/utilities/TypeInfo.js +418 -0
  196. package/utilities/TypeInfo.mjs +395 -0
  197. package/utilities/assertValidName.d.ts +13 -0
  198. package/utilities/assertValidName.js +51 -0
  199. package/utilities/assertValidName.mjs +40 -0
  200. package/utilities/astFromValue.d.ts +28 -0
  201. package/utilities/astFromValue.js +190 -0
  202. package/utilities/astFromValue.mjs +177 -0
  203. package/utilities/buildASTSchema.d.ts +35 -0
  204. package/utilities/buildASTSchema.js +115 -0
  205. package/utilities/buildASTSchema.mjs +97 -0
  206. package/utilities/buildClientSchema.d.ts +19 -0
  207. package/utilities/buildClientSchema.js +386 -0
  208. package/utilities/buildClientSchema.mjs +363 -0
  209. package/utilities/coerceInputValue.d.ts +16 -0
  210. package/utilities/coerceInputValue.js +191 -0
  211. package/utilities/coerceInputValue.mjs +172 -0
  212. package/utilities/concatAST.d.ts +9 -0
  213. package/utilities/concatAST.js +26 -0
  214. package/utilities/concatAST.mjs +19 -0
  215. package/utilities/extendSchema.d.ts +40 -0
  216. package/utilities/extendSchema.js +798 -0
  217. package/utilities/extendSchema.mjs +789 -0
  218. package/utilities/findBreakingChanges.d.ts +51 -0
  219. package/utilities/findBreakingChanges.js +547 -0
  220. package/utilities/findBreakingChanges.mjs +516 -0
  221. package/utilities/getIntrospectionQuery.d.ts +182 -0
  222. package/utilities/getIntrospectionQuery.js +134 -0
  223. package/utilities/getIntrospectionQuery.mjs +127 -0
  224. package/utilities/getOperationAST.d.ts +11 -0
  225. package/utilities/getOperationAST.js +43 -0
  226. package/utilities/getOperationAST.mjs +36 -0
  227. package/utilities/getOperationRootType.d.ts +15 -0
  228. package/utilities/getOperationRootType.js +59 -0
  229. package/utilities/getOperationRootType.mjs +52 -0
  230. package/utilities/index.d.ts +61 -0
  231. package/utilities/index.js +233 -0
  232. package/utilities/index.mjs +55 -0
  233. package/utilities/introspectionFromSchema.d.ts +18 -0
  234. package/utilities/introspectionFromSchema.js +42 -0
  235. package/utilities/introspectionFromSchema.mjs +30 -0
  236. package/utilities/lexicographicSortSchema.d.ts +9 -0
  237. package/utilities/lexicographicSortSchema.js +177 -0
  238. package/utilities/lexicographicSortSchema.mjs +172 -0
  239. package/utilities/printSchema.d.ts +5 -0
  240. package/utilities/printSchema.js +333 -0
  241. package/utilities/printSchema.mjs +309 -0
  242. package/utilities/separateOperations.d.ts +11 -0
  243. package/utilities/separateOperations.js +88 -0
  244. package/utilities/separateOperations.mjs +80 -0
  245. package/utilities/sortValueNode.d.ts +9 -0
  246. package/utilities/sortValueNode.js +47 -0
  247. package/utilities/sortValueNode.mjs +39 -0
  248. package/utilities/stripIgnoredCharacters.d.ts +62 -0
  249. package/utilities/stripIgnoredCharacters.js +121 -0
  250. package/utilities/stripIgnoredCharacters.mjs +104 -0
  251. package/utilities/typeComparators.d.ts +32 -0
  252. package/utilities/typeComparators.js +116 -0
  253. package/utilities/typeComparators.mjs +106 -0
  254. package/utilities/typeFromAST.d.ts +32 -0
  255. package/utilities/typeFromAST.js +27 -0
  256. package/utilities/typeFromAST.mjs +18 -0
  257. package/utilities/typedQueryDocumentNode.d.ts +22 -0
  258. package/utilities/typedQueryDocumentNode.js +5 -0
  259. package/utilities/typedQueryDocumentNode.mjs +1 -0
  260. package/utilities/valueFromAST.d.ts +29 -0
  261. package/utilities/valueFromAST.js +185 -0
  262. package/utilities/valueFromAST.mjs +172 -0
  263. package/utilities/valueFromASTUntyped.d.ts +23 -0
  264. package/utilities/valueFromASTUntyped.js +61 -0
  265. package/utilities/valueFromASTUntyped.mjs +53 -0
  266. package/validation/ValidationContext.d.ts +95 -0
  267. package/validation/ValidationContext.js +232 -0
  268. package/validation/ValidationContext.mjs +212 -0
  269. package/validation/index.d.ts +40 -0
  270. package/validation/index.js +317 -0
  271. package/validation/index.mjs +68 -0
  272. package/validation/rules/ExecutableDefinitionsRule.d.ts +13 -0
  273. package/validation/rules/ExecutableDefinitionsRule.js +44 -0
  274. package/validation/rules/ExecutableDefinitionsRule.mjs +35 -0
  275. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +13 -0
  276. package/validation/rules/FieldsOnCorrectTypeRule.js +143 -0
  277. package/validation/rules/FieldsOnCorrectTypeRule.mjs +125 -0
  278. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +14 -0
  279. package/validation/rules/FragmentsOnCompositeTypesRule.js +65 -0
  280. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +49 -0
  281. package/validation/rules/KnownArgumentNamesRule.d.ts +23 -0
  282. package/validation/rules/KnownArgumentNamesRule.js +116 -0
  283. package/validation/rules/KnownArgumentNamesRule.mjs +98 -0
  284. package/validation/rules/KnownDirectivesRule.d.ts +16 -0
  285. package/validation/rules/KnownDirectivesRule.js +163 -0
  286. package/validation/rules/KnownDirectivesRule.mjs +146 -0
  287. package/validation/rules/KnownFragmentNamesRule.d.ts +13 -0
  288. package/validation/rules/KnownFragmentNamesRule.js +34 -0
  289. package/validation/rules/KnownFragmentNamesRule.mjs +24 -0
  290. package/validation/rules/KnownTypeNamesRule.d.ts +16 -0
  291. package/validation/rules/KnownTypeNamesRule.js +87 -0
  292. package/validation/rules/KnownTypeNamesRule.mjs +75 -0
  293. package/validation/rules/LoneAnonymousOperationRule.d.ts +13 -0
  294. package/validation/rules/LoneAnonymousOperationRule.js +40 -0
  295. package/validation/rules/LoneAnonymousOperationRule.mjs +32 -0
  296. package/validation/rules/LoneSchemaDefinitionRule.d.ts +10 -0
  297. package/validation/rules/LoneSchemaDefinitionRule.js +63 -0
  298. package/validation/rules/LoneSchemaDefinitionRule.mjs +53 -0
  299. package/validation/rules/NoFragmentCyclesRule.d.ts +13 -0
  300. package/validation/rules/NoFragmentCyclesRule.js +83 -0
  301. package/validation/rules/NoFragmentCyclesRule.mjs +76 -0
  302. package/validation/rules/NoUndefinedVariablesRule.d.ts +13 -0
  303. package/validation/rules/NoUndefinedVariablesRule.js +50 -0
  304. package/validation/rules/NoUndefinedVariablesRule.mjs +43 -0
  305. package/validation/rules/NoUnusedFragmentsRule.d.ts +13 -0
  306. package/validation/rules/NoUnusedFragmentsRule.js +59 -0
  307. package/validation/rules/NoUnusedFragmentsRule.mjs +52 -0
  308. package/validation/rules/NoUnusedVariablesRule.d.ts +13 -0
  309. package/validation/rules/NoUnusedVariablesRule.js +55 -0
  310. package/validation/rules/NoUnusedVariablesRule.mjs +48 -0
  311. package/validation/rules/OverlappingFieldsCanBeMergedRule-old.js +805 -0
  312. package/validation/rules/OverlappingFieldsCanBeMergedRule-old.mjs +788 -0
  313. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +14 -0
  314. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +805 -0
  315. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +788 -0
  316. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +12 -0
  317. package/validation/rules/PossibleFragmentSpreadsRule.js +91 -0
  318. package/validation/rules/PossibleFragmentSpreadsRule.mjs +69 -0
  319. package/validation/rules/PossibleTypeExtensionsRule.d.ts +10 -0
  320. package/validation/rules/PossibleTypeExtensionsRule.js +167 -0
  321. package/validation/rules/PossibleTypeExtensionsRule.mjs +147 -0
  322. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +20 -0
  323. package/validation/rules/ProvidedRequiredArgumentsRule.js +158 -0
  324. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +138 -0
  325. package/validation/rules/ScalarLeafsRule.d.ts +9 -0
  326. package/validation/rules/ScalarLeafsRule.js +51 -0
  327. package/validation/rules/ScalarLeafsRule.mjs +42 -0
  328. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +13 -0
  329. package/validation/rules/SingleFieldSubscriptionsRule.js +82 -0
  330. package/validation/rules/SingleFieldSubscriptionsRule.mjs +73 -0
  331. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +11 -0
  332. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +90 -0
  333. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +79 -0
  334. package/validation/rules/UniqueArgumentNamesRule.d.ts +13 -0
  335. package/validation/rules/UniqueArgumentNamesRule.js +53 -0
  336. package/validation/rules/UniqueArgumentNamesRule.mjs +42 -0
  337. package/validation/rules/UniqueDirectiveNamesRule.d.ts +10 -0
  338. package/validation/rules/UniqueDirectiveNamesRule.js +50 -0
  339. package/validation/rules/UniqueDirectiveNamesRule.mjs +43 -0
  340. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +16 -0
  341. package/validation/rules/UniqueDirectivesPerLocationRule.js +93 -0
  342. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +83 -0
  343. package/validation/rules/UniqueEnumValueNamesRule.d.ts +10 -0
  344. package/validation/rules/UniqueEnumValueNamesRule.js +71 -0
  345. package/validation/rules/UniqueEnumValueNamesRule.mjs +60 -0
  346. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +10 -0
  347. package/validation/rules/UniqueFieldDefinitionNamesRule.js +83 -0
  348. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +75 -0
  349. package/validation/rules/UniqueFragmentNamesRule.d.ts +12 -0
  350. package/validation/rules/UniqueFragmentNamesRule.js +39 -0
  351. package/validation/rules/UniqueFragmentNamesRule.mjs +32 -0
  352. package/validation/rules/UniqueInputFieldNamesRule.d.ts +13 -0
  353. package/validation/rules/UniqueInputFieldNamesRule.js +52 -0
  354. package/validation/rules/UniqueInputFieldNamesRule.mjs +44 -0
  355. package/validation/rules/UniqueOperationNamesRule.d.ts +12 -0
  356. package/validation/rules/UniqueOperationNamesRule.js +41 -0
  357. package/validation/rules/UniqueOperationNamesRule.mjs +34 -0
  358. package/validation/rules/UniqueOperationTypesRule.d.ts +10 -0
  359. package/validation/rules/UniqueOperationTypesRule.js +67 -0
  360. package/validation/rules/UniqueOperationTypesRule.mjs +60 -0
  361. package/validation/rules/UniqueTypeNamesRule.d.ts +10 -0
  362. package/validation/rules/UniqueTypeNamesRule.js +53 -0
  363. package/validation/rules/UniqueTypeNamesRule.mjs +46 -0
  364. package/validation/rules/UniqueVariableNamesRule.d.ts +10 -0
  365. package/validation/rules/UniqueVariableNamesRule.js +47 -0
  366. package/validation/rules/UniqueVariableNamesRule.mjs +39 -0
  367. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +13 -0
  368. package/validation/rules/ValuesOfCorrectTypeRule.js +183 -0
  369. package/validation/rules/ValuesOfCorrectTypeRule.mjs +164 -0
  370. package/validation/rules/VariablesAreInputTypesRule.d.ts +13 -0
  371. package/validation/rules/VariablesAreInputTypesRule.js +44 -0
  372. package/validation/rules/VariablesAreInputTypesRule.mjs +31 -0
  373. package/validation/rules/VariablesInAllowedPositionRule.d.ts +12 -0
  374. package/validation/rules/VariablesInAllowedPositionRule.js +114 -0
  375. package/validation/rules/VariablesInAllowedPositionRule.mjs +95 -0
  376. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +15 -0
  377. package/validation/rules/custom/NoDeprecatedCustomRule.js +121 -0
  378. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +107 -0
  379. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +15 -0
  380. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +39 -0
  381. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +30 -0
  382. package/validation/specifiedRules.d.ts +12 -0
  383. package/validation/specifiedRules.js +160 -0
  384. package/validation/specifiedRules.mjs +123 -0
  385. package/validation/validate.d.ts +61 -0
  386. package/validation/validate.js +151 -0
  387. package/validation/validate.mjs +133 -0
  388. package/version.d.ts +13 -0
  389. package/version.js +25 -0
  390. package/version.mjs +17 -0
@@ -0,0 +1,339 @@
1
+ import { printBlockString } from './blockString.mjs';
2
+ import { printString } from './printString.mjs';
3
+ import { visit } from './visitor.mjs';
4
+ /**
5
+ * Converts an AST into a string, using one set of reasonable
6
+ * formatting rules.
7
+ */
8
+
9
+ export function print(ast) {
10
+ return visit(ast, printDocASTReducer);
11
+ }
12
+ const MAX_LINE_LENGTH = 80;
13
+ const printDocASTReducer = {
14
+ Name: {
15
+ leave: (node) => node.value,
16
+ },
17
+ Variable: {
18
+ leave: (node) => '$' + node.name,
19
+ },
20
+ // Document
21
+ Document: {
22
+ leave: (node) => join(node.definitions, '\n\n'),
23
+ },
24
+ OperationDefinition: {
25
+ leave(node) {
26
+ const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');
27
+ const prefix = join(
28
+ [
29
+ node.operation,
30
+ join([node.name, varDefs]),
31
+ join(node.directives, ' '),
32
+ ],
33
+ ' ',
34
+ ); // Anonymous queries with no directives or variable definitions can use
35
+ // the query short form.
36
+
37
+ return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;
38
+ },
39
+ },
40
+ VariableDefinition: {
41
+ leave: ({ variable, type, defaultValue, directives }) =>
42
+ variable +
43
+ ': ' +
44
+ type +
45
+ wrap(' = ', defaultValue) +
46
+ wrap(' ', join(directives, ' ')),
47
+ },
48
+ SelectionSet: {
49
+ leave: ({ selections }) => block(selections),
50
+ },
51
+ Field: {
52
+ leave({ alias, name, arguments: args, directives, selectionSet }) {
53
+ const prefix = wrap('', alias, ': ') + name;
54
+ let argsLine = prefix + wrap('(', join(args, ', '), ')');
55
+
56
+ if (argsLine.length > MAX_LINE_LENGTH) {
57
+ argsLine = prefix + wrap('(\n', indent(join(args, '\n')), '\n)');
58
+ }
59
+
60
+ return join([argsLine, join(directives, ' '), selectionSet], ' ');
61
+ },
62
+ },
63
+ Argument: {
64
+ leave: ({ name, value }) => name + ': ' + value,
65
+ },
66
+ // Fragments
67
+ FragmentSpread: {
68
+ leave: ({ name, directives }) =>
69
+ '...' + name + wrap(' ', join(directives, ' ')),
70
+ },
71
+ InlineFragment: {
72
+ leave: ({ typeCondition, directives, selectionSet }) =>
73
+ join(
74
+ [
75
+ '...',
76
+ wrap('on ', typeCondition),
77
+ join(directives, ' '),
78
+ selectionSet,
79
+ ],
80
+ ' ',
81
+ ),
82
+ },
83
+ FragmentDefinition: {
84
+ leave: (
85
+ { name, typeCondition, variableDefinitions, directives, selectionSet }, // Note: fragment variable definitions are experimental and may be changed
86
+ ) =>
87
+ // or removed in the future.
88
+ `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +
89
+ `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +
90
+ selectionSet,
91
+ },
92
+ // Value
93
+ IntValue: {
94
+ leave: ({ value }) => value,
95
+ },
96
+ FloatValue: {
97
+ leave: ({ value }) => value,
98
+ },
99
+ StringValue: {
100
+ leave: ({ value, block: isBlockString }) =>
101
+ isBlockString ? printBlockString(value) : printString(value),
102
+ },
103
+ BooleanValue: {
104
+ leave: ({ value }) => (value ? 'true' : 'false'),
105
+ },
106
+ NullValue: {
107
+ leave: () => 'null',
108
+ },
109
+ EnumValue: {
110
+ leave: ({ value }) => value,
111
+ },
112
+ ListValue: {
113
+ leave: ({ values }) => '[' + join(values, ', ') + ']',
114
+ },
115
+ ObjectValue: {
116
+ leave: ({ fields }) => '{' + join(fields, ', ') + '}',
117
+ },
118
+ ObjectField: {
119
+ leave: ({ name, value }) => name + ': ' + value,
120
+ },
121
+ // Directive
122
+ Directive: {
123
+ leave: ({ name, arguments: args }) =>
124
+ '@' + name + wrap('(', join(args, ', '), ')'),
125
+ },
126
+ // Type
127
+ NamedType: {
128
+ leave: ({ name }) => name,
129
+ },
130
+ ListType: {
131
+ leave: ({ type }) => '[' + type + ']',
132
+ },
133
+ NonNullType: {
134
+ leave: ({ type }) => type + '!',
135
+ },
136
+ // Type System Definitions
137
+ SchemaDefinition: {
138
+ leave: ({ description, directives, operationTypes }) =>
139
+ wrap('', description, '\n') +
140
+ join(['schema', join(directives, ' '), block(operationTypes)], ' '),
141
+ },
142
+ OperationTypeDefinition: {
143
+ leave: ({ operation, type }) => operation + ': ' + type,
144
+ },
145
+ ScalarTypeDefinition: {
146
+ leave: ({ description, name, directives }) =>
147
+ wrap('', description, '\n') +
148
+ join(['scalar', name, join(directives, ' ')], ' '),
149
+ },
150
+ ObjectTypeDefinition: {
151
+ leave: ({ description, name, interfaces, directives, fields }) =>
152
+ wrap('', description, '\n') +
153
+ join(
154
+ [
155
+ 'type',
156
+ name,
157
+ wrap('implements ', join(interfaces, ' & ')),
158
+ join(directives, ' '),
159
+ block(fields),
160
+ ],
161
+ ' ',
162
+ ),
163
+ },
164
+ FieldDefinition: {
165
+ leave: ({ description, name, arguments: args, type, directives }) =>
166
+ wrap('', description, '\n') +
167
+ name +
168
+ (hasMultilineItems(args)
169
+ ? wrap('(\n', indent(join(args, '\n')), '\n)')
170
+ : wrap('(', join(args, ', '), ')')) +
171
+ ': ' +
172
+ type +
173
+ wrap(' ', join(directives, ' ')),
174
+ },
175
+ InputValueDefinition: {
176
+ leave: ({ description, name, type, defaultValue, directives }) =>
177
+ wrap('', description, '\n') +
178
+ join(
179
+ [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],
180
+ ' ',
181
+ ),
182
+ },
183
+ InterfaceTypeDefinition: {
184
+ leave: ({ description, name, interfaces, directives, fields }) =>
185
+ wrap('', description, '\n') +
186
+ join(
187
+ [
188
+ 'interface',
189
+ name,
190
+ wrap('implements ', join(interfaces, ' & ')),
191
+ join(directives, ' '),
192
+ block(fields),
193
+ ],
194
+ ' ',
195
+ ),
196
+ },
197
+ UnionTypeDefinition: {
198
+ leave: ({ description, name, directives, types }) =>
199
+ wrap('', description, '\n') +
200
+ join(
201
+ ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],
202
+ ' ',
203
+ ),
204
+ },
205
+ EnumTypeDefinition: {
206
+ leave: ({ description, name, directives, values }) =>
207
+ wrap('', description, '\n') +
208
+ join(['enum', name, join(directives, ' '), block(values)], ' '),
209
+ },
210
+ EnumValueDefinition: {
211
+ leave: ({ description, name, directives }) =>
212
+ wrap('', description, '\n') + join([name, join(directives, ' ')], ' '),
213
+ },
214
+ InputObjectTypeDefinition: {
215
+ leave: ({ description, name, directives, fields }) =>
216
+ wrap('', description, '\n') +
217
+ join(['input', name, join(directives, ' '), block(fields)], ' '),
218
+ },
219
+ DirectiveDefinition: {
220
+ leave: ({ description, name, arguments: args, repeatable, locations }) =>
221
+ wrap('', description, '\n') +
222
+ 'directive @' +
223
+ name +
224
+ (hasMultilineItems(args)
225
+ ? wrap('(\n', indent(join(args, '\n')), '\n)')
226
+ : wrap('(', join(args, ', '), ')')) +
227
+ (repeatable ? ' repeatable' : '') +
228
+ ' on ' +
229
+ join(locations, ' | '),
230
+ },
231
+ SchemaExtension: {
232
+ leave: ({ directives, operationTypes }) =>
233
+ join(
234
+ ['extend schema', join(directives, ' '), block(operationTypes)],
235
+ ' ',
236
+ ),
237
+ },
238
+ ScalarTypeExtension: {
239
+ leave: ({ name, directives }) =>
240
+ join(['extend scalar', name, join(directives, ' ')], ' '),
241
+ },
242
+ ObjectTypeExtension: {
243
+ leave: ({ name, interfaces, directives, fields }) =>
244
+ join(
245
+ [
246
+ 'extend type',
247
+ name,
248
+ wrap('implements ', join(interfaces, ' & ')),
249
+ join(directives, ' '),
250
+ block(fields),
251
+ ],
252
+ ' ',
253
+ ),
254
+ },
255
+ InterfaceTypeExtension: {
256
+ leave: ({ name, interfaces, directives, fields }) =>
257
+ join(
258
+ [
259
+ 'extend interface',
260
+ name,
261
+ wrap('implements ', join(interfaces, ' & ')),
262
+ join(directives, ' '),
263
+ block(fields),
264
+ ],
265
+ ' ',
266
+ ),
267
+ },
268
+ UnionTypeExtension: {
269
+ leave: ({ name, directives, types }) =>
270
+ join(
271
+ [
272
+ 'extend union',
273
+ name,
274
+ join(directives, ' '),
275
+ wrap('= ', join(types, ' | ')),
276
+ ],
277
+ ' ',
278
+ ),
279
+ },
280
+ EnumTypeExtension: {
281
+ leave: ({ name, directives, values }) =>
282
+ join(['extend enum', name, join(directives, ' '), block(values)], ' '),
283
+ },
284
+ InputObjectTypeExtension: {
285
+ leave: ({ name, directives, fields }) =>
286
+ join(['extend input', name, join(directives, ' '), block(fields)], ' '),
287
+ },
288
+ };
289
+ /**
290
+ * Given maybeArray, print an empty string if it is null or empty, otherwise
291
+ * print all items together separated by separator if provided
292
+ */
293
+
294
+ function join(maybeArray, separator = '') {
295
+ var _maybeArray$filter$jo;
296
+
297
+ return (_maybeArray$filter$jo =
298
+ maybeArray === null || maybeArray === void 0
299
+ ? void 0
300
+ : maybeArray.filter((x) => x).join(separator)) !== null &&
301
+ _maybeArray$filter$jo !== void 0
302
+ ? _maybeArray$filter$jo
303
+ : '';
304
+ }
305
+ /**
306
+ * Given array, print each item on its own line, wrapped in an indented `{ }` block.
307
+ */
308
+
309
+ function block(array) {
310
+ return wrap('{\n', indent(join(array, '\n')), '\n}');
311
+ }
312
+ /**
313
+ * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
314
+ */
315
+
316
+ function wrap(start, maybeString, end = '') {
317
+ return maybeString != null && maybeString !== ''
318
+ ? start + maybeString + end
319
+ : '';
320
+ }
321
+
322
+ function indent(str) {
323
+ return wrap(' ', str.replace(/\n/g, '\n '));
324
+ }
325
+
326
+ function hasMultilineItems(maybeArray) {
327
+ var _maybeArray$some;
328
+
329
+ // FIXME: https://github.com/graphql/graphql-js/issues/2203
330
+
331
+ /* c8 ignore next */
332
+ return (_maybeArray$some =
333
+ maybeArray === null || maybeArray === void 0
334
+ ? void 0
335
+ : maybeArray.some((str) => str.includes('\n'))) !== null &&
336
+ _maybeArray$some !== void 0
337
+ ? _maybeArray$some
338
+ : false;
339
+ }
@@ -0,0 +1,25 @@
1
+ interface Location {
2
+ line: number;
3
+ column: number;
4
+ }
5
+ /**
6
+ * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
7
+ * optional, but they are useful for clients who store GraphQL documents in source files.
8
+ * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might
9
+ * be useful for `name` to be `"Foo.graphql"` and location to be `{ line: 40, column: 1 }`.
10
+ * The `line` and `column` properties in `locationOffset` are 1-indexed.
11
+ */
12
+ export declare class Source {
13
+ body: string;
14
+ name: string;
15
+ locationOffset: Location;
16
+ constructor(body: string, name?: string, locationOffset?: Location);
17
+ get [Symbol.toStringTag](): string;
18
+ }
19
+ /**
20
+ * Test if the given value is a Source object.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare function isSource(source: unknown): source is Source;
25
+ export {};
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.Source = void 0;
7
+ exports.isSource = isSource;
8
+
9
+ var _devAssert = require('../jsutils/devAssert.js');
10
+
11
+ var _inspect = require('../jsutils/inspect.js');
12
+
13
+ var _instanceOf = require('../jsutils/instanceOf.js');
14
+
15
+ /**
16
+ * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
17
+ * optional, but they are useful for clients who store GraphQL documents in source files.
18
+ * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might
19
+ * be useful for `name` to be `"Foo.graphql"` and location to be `{ line: 40, column: 1 }`.
20
+ * The `line` and `column` properties in `locationOffset` are 1-indexed.
21
+ */
22
+ class Source {
23
+ constructor(
24
+ body,
25
+ name = 'GraphQL request',
26
+ locationOffset = {
27
+ line: 1,
28
+ column: 1,
29
+ },
30
+ ) {
31
+ typeof body === 'string' ||
32
+ (0, _devAssert.devAssert)(
33
+ false,
34
+ `Body must be a string. Received: ${(0, _inspect.inspect)(body)}.`,
35
+ );
36
+ this.body = body;
37
+ this.name = name;
38
+ this.locationOffset = locationOffset;
39
+ this.locationOffset.line > 0 ||
40
+ (0, _devAssert.devAssert)(
41
+ false,
42
+ 'line in locationOffset is 1-indexed and must be positive.',
43
+ );
44
+ this.locationOffset.column > 0 ||
45
+ (0, _devAssert.devAssert)(
46
+ false,
47
+ 'column in locationOffset is 1-indexed and must be positive.',
48
+ );
49
+ }
50
+
51
+ get [Symbol.toStringTag]() {
52
+ return 'Source';
53
+ }
54
+ }
55
+ /**
56
+ * Test if the given value is a Source object.
57
+ *
58
+ * @internal
59
+ */
60
+
61
+ exports.Source = Source;
62
+
63
+ function isSource(source) {
64
+ return (0, _instanceOf.instanceOf)(source, Source);
65
+ }
@@ -0,0 +1,50 @@
1
+ import { devAssert } from '../jsutils/devAssert.mjs';
2
+ import { inspect } from '../jsutils/inspect.mjs';
3
+ import { instanceOf } from '../jsutils/instanceOf.mjs';
4
+
5
+ /**
6
+ * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
7
+ * optional, but they are useful for clients who store GraphQL documents in source files.
8
+ * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might
9
+ * be useful for `name` to be `"Foo.graphql"` and location to be `{ line: 40, column: 1 }`.
10
+ * The `line` and `column` properties in `locationOffset` are 1-indexed.
11
+ */
12
+ export class Source {
13
+ constructor(
14
+ body,
15
+ name = 'GraphQL request',
16
+ locationOffset = {
17
+ line: 1,
18
+ column: 1,
19
+ },
20
+ ) {
21
+ typeof body === 'string' ||
22
+ devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);
23
+ this.body = body;
24
+ this.name = name;
25
+ this.locationOffset = locationOffset;
26
+ this.locationOffset.line > 0 ||
27
+ devAssert(
28
+ false,
29
+ 'line in locationOffset is 1-indexed and must be positive.',
30
+ );
31
+ this.locationOffset.column > 0 ||
32
+ devAssert(
33
+ false,
34
+ 'column in locationOffset is 1-indexed and must be positive.',
35
+ );
36
+ }
37
+
38
+ get [Symbol.toStringTag]() {
39
+ return 'Source';
40
+ }
41
+ }
42
+ /**
43
+ * Test if the given value is a Source object.
44
+ *
45
+ * @internal
46
+ */
47
+
48
+ export function isSource(source) {
49
+ return instanceOf(source, Source);
50
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * An exported enum describing the different kinds of tokens that the
3
+ * lexer emits.
4
+ */
5
+ export declare enum TokenKind {
6
+ SOF = '<SOF>',
7
+ EOF = '<EOF>',
8
+ BANG = '!',
9
+ DOLLAR = '$',
10
+ AMP = '&',
11
+ PAREN_L = '(',
12
+ PAREN_R = ')',
13
+ SPREAD = '...',
14
+ COLON = ':',
15
+ EQUALS = '=',
16
+ AT = '@',
17
+ BRACKET_L = '[',
18
+ BRACKET_R = ']',
19
+ BRACE_L = '{',
20
+ PIPE = '|',
21
+ BRACE_R = '}',
22
+ NAME = 'Name',
23
+ INT = 'Int',
24
+ FLOAT = 'Float',
25
+ STRING = 'String',
26
+ BLOCK_STRING = 'BlockString',
27
+ COMMENT = 'Comment',
28
+ }
29
+ /**
30
+ * The enum type representing the token kinds values.
31
+ *
32
+ * @deprecated Please use `TokenKind`. Will be remove in v17.
33
+ */
34
+ export declare type TokenKindEnum = typeof TokenKind;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.TokenKind = void 0;
7
+
8
+ /**
9
+ * An exported enum describing the different kinds of tokens that the
10
+ * lexer emits.
11
+ */
12
+ let TokenKind;
13
+ /**
14
+ * The enum type representing the token kinds values.
15
+ *
16
+ * @deprecated Please use `TokenKind`. Will be remove in v17.
17
+ */
18
+
19
+ exports.TokenKind = TokenKind;
20
+
21
+ (function (TokenKind) {
22
+ TokenKind['SOF'] = '<SOF>';
23
+ TokenKind['EOF'] = '<EOF>';
24
+ TokenKind['BANG'] = '!';
25
+ TokenKind['DOLLAR'] = '$';
26
+ TokenKind['AMP'] = '&';
27
+ TokenKind['PAREN_L'] = '(';
28
+ TokenKind['PAREN_R'] = ')';
29
+ TokenKind['SPREAD'] = '...';
30
+ TokenKind['COLON'] = ':';
31
+ TokenKind['EQUALS'] = '=';
32
+ TokenKind['AT'] = '@';
33
+ TokenKind['BRACKET_L'] = '[';
34
+ TokenKind['BRACKET_R'] = ']';
35
+ TokenKind['BRACE_L'] = '{';
36
+ TokenKind['PIPE'] = '|';
37
+ TokenKind['BRACE_R'] = '}';
38
+ TokenKind['NAME'] = 'Name';
39
+ TokenKind['INT'] = 'Int';
40
+ TokenKind['FLOAT'] = 'Float';
41
+ TokenKind['STRING'] = 'String';
42
+ TokenKind['BLOCK_STRING'] = 'BlockString';
43
+ TokenKind['COMMENT'] = 'Comment';
44
+ })(TokenKind || (exports.TokenKind = TokenKind = {}));
@@ -0,0 +1,35 @@
1
+ /**
2
+ * An exported enum describing the different kinds of tokens that the
3
+ * lexer emits.
4
+ */
5
+ export let TokenKind;
6
+ /**
7
+ * The enum type representing the token kinds values.
8
+ *
9
+ * @deprecated Please use `TokenKind`. Will be remove in v17.
10
+ */
11
+
12
+ (function (TokenKind) {
13
+ TokenKind['SOF'] = '<SOF>';
14
+ TokenKind['EOF'] = '<EOF>';
15
+ TokenKind['BANG'] = '!';
16
+ TokenKind['DOLLAR'] = '$';
17
+ TokenKind['AMP'] = '&';
18
+ TokenKind['PAREN_L'] = '(';
19
+ TokenKind['PAREN_R'] = ')';
20
+ TokenKind['SPREAD'] = '...';
21
+ TokenKind['COLON'] = ':';
22
+ TokenKind['EQUALS'] = '=';
23
+ TokenKind['AT'] = '@';
24
+ TokenKind['BRACKET_L'] = '[';
25
+ TokenKind['BRACKET_R'] = ']';
26
+ TokenKind['BRACE_L'] = '{';
27
+ TokenKind['PIPE'] = '|';
28
+ TokenKind['BRACE_R'] = '}';
29
+ TokenKind['NAME'] = 'Name';
30
+ TokenKind['INT'] = 'Int';
31
+ TokenKind['FLOAT'] = 'Float';
32
+ TokenKind['STRING'] = 'String';
33
+ TokenKind['BLOCK_STRING'] = 'BlockString';
34
+ TokenKind['COMMENT'] = 'Comment';
35
+ })(TokenKind || (TokenKind = {}));