@gqlkit-ts/cli 0.0.1 → 0.1.0

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 (325) hide show
  1. package/LICENSE +21 -0
  2. package/dist/auto-type-generator/auto-type-generator.d.ts +46 -0
  3. package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -0
  4. package/dist/auto-type-generator/auto-type-generator.js +353 -0
  5. package/dist/auto-type-generator/auto-type-generator.js.map +1 -0
  6. package/dist/auto-type-generator/auto-type-generator.test.d.ts +2 -0
  7. package/dist/auto-type-generator/auto-type-generator.test.d.ts.map +1 -0
  8. package/dist/auto-type-generator/auto-type-generator.test.js +613 -0
  9. package/dist/auto-type-generator/auto-type-generator.test.js.map +1 -0
  10. package/dist/auto-type-generator/index.d.ts +4 -0
  11. package/dist/auto-type-generator/index.d.ts.map +1 -0
  12. package/dist/auto-type-generator/index.js +3 -0
  13. package/dist/auto-type-generator/index.js.map +1 -0
  14. package/dist/auto-type-generator/name-collision-validator.d.ts +17 -0
  15. package/dist/auto-type-generator/name-collision-validator.d.ts.map +1 -0
  16. package/dist/auto-type-generator/name-collision-validator.js +68 -0
  17. package/dist/auto-type-generator/name-collision-validator.js.map +1 -0
  18. package/dist/auto-type-generator/name-collision-validator.test.d.ts +2 -0
  19. package/dist/auto-type-generator/name-collision-validator.test.d.ts.map +1 -0
  20. package/dist/auto-type-generator/name-collision-validator.test.js +358 -0
  21. package/dist/auto-type-generator/name-collision-validator.test.js.map +1 -0
  22. package/dist/auto-type-generator/naming-convention.d.ts +40 -0
  23. package/dist/auto-type-generator/naming-convention.d.ts.map +1 -0
  24. package/dist/auto-type-generator/naming-convention.js +59 -0
  25. package/dist/auto-type-generator/naming-convention.js.map +1 -0
  26. package/dist/auto-type-generator/naming-convention.test.d.ts +2 -0
  27. package/dist/auto-type-generator/naming-convention.test.d.ts.map +1 -0
  28. package/dist/auto-type-generator/naming-convention.test.js +132 -0
  29. package/dist/auto-type-generator/naming-convention.test.js.map +1 -0
  30. package/dist/cli.d.ts +2 -0
  31. package/dist/cli.d.ts.map +1 -0
  32. package/dist/cli.js +11 -0
  33. package/dist/cli.js.map +1 -0
  34. package/dist/commands/gen.d.ts +32 -0
  35. package/dist/commands/gen.d.ts.map +1 -0
  36. package/dist/commands/gen.js +101 -0
  37. package/dist/commands/gen.js.map +1 -0
  38. package/dist/commands/gen.test.d.ts +2 -0
  39. package/dist/commands/gen.test.d.ts.map +1 -0
  40. package/dist/commands/gen.test.js +226 -0
  41. package/dist/commands/gen.test.js.map +1 -0
  42. package/dist/commands/main.d.ts +12 -0
  43. package/dist/commands/main.d.ts.map +1 -0
  44. package/dist/commands/main.js +5 -0
  45. package/dist/commands/main.js.map +1 -0
  46. package/dist/config/define-config.d.ts +26 -0
  47. package/dist/config/define-config.d.ts.map +1 -0
  48. package/dist/config/define-config.js +27 -0
  49. package/dist/config/define-config.js.map +1 -0
  50. package/dist/config/index.d.ts +3 -0
  51. package/dist/config/index.d.ts.map +1 -0
  52. package/dist/config/index.js +2 -0
  53. package/dist/config/index.js.map +1 -0
  54. package/dist/config/types.d.ts +131 -0
  55. package/dist/config/types.d.ts.map +1 -0
  56. package/dist/config/types.js +2 -0
  57. package/dist/config/types.js.map +1 -0
  58. package/dist/config-loader/index.d.ts +3 -0
  59. package/dist/config-loader/index.d.ts.map +1 -0
  60. package/dist/config-loader/index.js +2 -0
  61. package/dist/config-loader/index.js.map +1 -0
  62. package/dist/config-loader/loader.d.ts +50 -0
  63. package/dist/config-loader/loader.d.ts.map +1 -0
  64. package/dist/config-loader/loader.js +78 -0
  65. package/dist/config-loader/loader.js.map +1 -0
  66. package/dist/config-loader/loader.test.d.ts +2 -0
  67. package/dist/config-loader/loader.test.d.ts.map +1 -0
  68. package/dist/config-loader/loader.test.js +123 -0
  69. package/dist/config-loader/loader.test.js.map +1 -0
  70. package/dist/config-loader/validator.d.ts +13 -0
  71. package/dist/config-loader/validator.d.ts.map +1 -0
  72. package/dist/config-loader/validator.js +497 -0
  73. package/dist/config-loader/validator.js.map +1 -0
  74. package/dist/config-loader/validator.test.d.ts +2 -0
  75. package/dist/config-loader/validator.test.d.ts.map +1 -0
  76. package/dist/config-loader/validator.test.js +846 -0
  77. package/dist/config-loader/validator.test.js.map +1 -0
  78. package/dist/gen-orchestrator/golden.test.d.ts +2 -0
  79. package/dist/gen-orchestrator/golden.test.d.ts.map +1 -0
  80. package/dist/gen-orchestrator/golden.test.js +102 -0
  81. package/dist/gen-orchestrator/golden.test.js.map +1 -0
  82. package/dist/gen-orchestrator/hook-executor/hook-executor.d.ts +25 -0
  83. package/dist/gen-orchestrator/hook-executor/hook-executor.d.ts.map +1 -0
  84. package/dist/gen-orchestrator/hook-executor/hook-executor.js +68 -0
  85. package/dist/gen-orchestrator/hook-executor/hook-executor.js.map +1 -0
  86. package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts +2 -0
  87. package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts.map +1 -0
  88. package/dist/gen-orchestrator/hook-executor/hook-executor.test.js +167 -0
  89. package/dist/gen-orchestrator/hook-executor/hook-executor.test.js.map +1 -0
  90. package/dist/gen-orchestrator/orchestrator.d.ts +30 -0
  91. package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -0
  92. package/dist/gen-orchestrator/orchestrator.js +407 -0
  93. package/dist/gen-orchestrator/orchestrator.js.map +1 -0
  94. package/dist/gen-orchestrator/reporter/diagnostic-reporter.d.ts +9 -0
  95. package/dist/gen-orchestrator/reporter/diagnostic-reporter.d.ts.map +1 -0
  96. package/dist/gen-orchestrator/reporter/diagnostic-reporter.js +32 -0
  97. package/dist/gen-orchestrator/reporter/diagnostic-reporter.js.map +1 -0
  98. package/dist/gen-orchestrator/reporter/progress-reporter.d.ts +19 -0
  99. package/dist/gen-orchestrator/reporter/progress-reporter.d.ts.map +1 -0
  100. package/dist/gen-orchestrator/reporter/progress-reporter.js +38 -0
  101. package/dist/gen-orchestrator/reporter/progress-reporter.js.map +1 -0
  102. package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts +2 -0
  103. package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts.map +1 -0
  104. package/dist/gen-orchestrator/reporter/progress-reporter.test.js +74 -0
  105. package/dist/gen-orchestrator/reporter/progress-reporter.test.js.map +1 -0
  106. package/dist/gen-orchestrator/writer/file-writer.d.ts +13 -0
  107. package/dist/gen-orchestrator/writer/file-writer.d.ts.map +1 -0
  108. package/dist/gen-orchestrator/writer/file-writer.js +22 -0
  109. package/dist/gen-orchestrator/writer/file-writer.js.map +1 -0
  110. package/dist/index.d.ts +3 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +2 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/resolver-extractor/extract-resolvers.d.ts +40 -0
  115. package/dist/resolver-extractor/extract-resolvers.d.ts.map +1 -0
  116. package/dist/resolver-extractor/extract-resolvers.js +2 -0
  117. package/dist/resolver-extractor/extract-resolvers.js.map +1 -0
  118. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts +50 -0
  119. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -0
  120. package/dist/resolver-extractor/extractor/define-api-extractor.js +685 -0
  121. package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -0
  122. package/dist/resolver-extractor/index.d.ts +5 -0
  123. package/dist/resolver-extractor/index.d.ts.map +1 -0
  124. package/dist/resolver-extractor/index.js +2 -0
  125. package/dist/resolver-extractor/index.js.map +1 -0
  126. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts +25 -0
  127. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts.map +1 -0
  128. package/dist/resolver-extractor/validator/abstract-resolver-validator.js +172 -0
  129. package/dist/resolver-extractor/validator/abstract-resolver-validator.js.map +1 -0
  130. package/dist/resolver-extractor/validator/only-validator.d.ts +61 -0
  131. package/dist/resolver-extractor/validator/only-validator.d.ts.map +1 -0
  132. package/dist/resolver-extractor/validator/only-validator.js +76 -0
  133. package/dist/resolver-extractor/validator/only-validator.js.map +1 -0
  134. package/dist/resolver-extractor/validator/only-validator.test.d.ts +8 -0
  135. package/dist/resolver-extractor/validator/only-validator.test.d.ts.map +1 -0
  136. package/dist/resolver-extractor/validator/only-validator.test.js +352 -0
  137. package/dist/resolver-extractor/validator/only-validator.test.js.map +1 -0
  138. package/dist/schema-generator/builder/ast-builder.d.ts +7 -0
  139. package/dist/schema-generator/builder/ast-builder.d.ts.map +1 -0
  140. package/dist/schema-generator/builder/ast-builder.js +417 -0
  141. package/dist/schema-generator/builder/ast-builder.js.map +1 -0
  142. package/dist/schema-generator/builder/ast-builder.test.d.ts +2 -0
  143. package/dist/schema-generator/builder/ast-builder.test.d.ts.map +1 -0
  144. package/dist/schema-generator/builder/ast-builder.test.js +469 -0
  145. package/dist/schema-generator/builder/ast-builder.test.js.map +1 -0
  146. package/dist/schema-generator/emitter/code-emitter.d.ts +7 -0
  147. package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -0
  148. package/dist/schema-generator/emitter/code-emitter.js +201 -0
  149. package/dist/schema-generator/emitter/code-emitter.js.map +1 -0
  150. package/dist/schema-generator/emitter/sdl-emitter.d.ts +7 -0
  151. package/dist/schema-generator/emitter/sdl-emitter.d.ts.map +1 -0
  152. package/dist/schema-generator/emitter/sdl-emitter.js +11 -0
  153. package/dist/schema-generator/emitter/sdl-emitter.js.map +1 -0
  154. package/dist/schema-generator/generate-schema.d.ts +26 -0
  155. package/dist/schema-generator/generate-schema.d.ts.map +1 -0
  156. package/dist/schema-generator/generate-schema.js +76 -0
  157. package/dist/schema-generator/generate-schema.js.map +1 -0
  158. package/dist/schema-generator/index.d.ts +4 -0
  159. package/dist/schema-generator/index.d.ts.map +1 -0
  160. package/dist/schema-generator/index.js +2 -0
  161. package/dist/schema-generator/index.js.map +1 -0
  162. package/dist/schema-generator/integrator/result-integrator.d.ts +93 -0
  163. package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -0
  164. package/dist/schema-generator/integrator/result-integrator.js +396 -0
  165. package/dist/schema-generator/integrator/result-integrator.js.map +1 -0
  166. package/dist/schema-generator/pruner/schema-pruner.d.ts +16 -0
  167. package/dist/schema-generator/pruner/schema-pruner.d.ts.map +1 -0
  168. package/dist/schema-generator/pruner/schema-pruner.js +66 -0
  169. package/dist/schema-generator/pruner/schema-pruner.js.map +1 -0
  170. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts +24 -0
  171. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts.map +1 -0
  172. package/dist/schema-generator/resolver-collector/resolver-collector.js +61 -0
  173. package/dist/schema-generator/resolver-collector/resolver-collector.js.map +1 -0
  174. package/dist/shared/constants.d.ts +70 -0
  175. package/dist/shared/constants.d.ts.map +1 -0
  176. package/dist/shared/constants.js +128 -0
  177. package/dist/shared/constants.js.map +1 -0
  178. package/dist/shared/default-value-detector.d.ts +40 -0
  179. package/dist/shared/default-value-detector.d.ts.map +1 -0
  180. package/dist/shared/default-value-detector.js +124 -0
  181. package/dist/shared/default-value-detector.js.map +1 -0
  182. package/dist/shared/diagnostics.d.ts +4 -0
  183. package/dist/shared/diagnostics.d.ts.map +1 -0
  184. package/dist/shared/diagnostics.js +25 -0
  185. package/dist/shared/diagnostics.js.map +1 -0
  186. package/dist/shared/directive-definition-extractor.d.ts +64 -0
  187. package/dist/shared/directive-definition-extractor.d.ts.map +1 -0
  188. package/dist/shared/directive-definition-extractor.js +399 -0
  189. package/dist/shared/directive-definition-extractor.js.map +1 -0
  190. package/dist/shared/directive-detector.d.ts +102 -0
  191. package/dist/shared/directive-detector.d.ts.map +1 -0
  192. package/dist/shared/directive-detector.js +422 -0
  193. package/dist/shared/directive-detector.js.map +1 -0
  194. package/dist/shared/file-scanner.d.ts +25 -0
  195. package/dist/shared/file-scanner.d.ts.map +1 -0
  196. package/dist/shared/file-scanner.js +99 -0
  197. package/dist/shared/file-scanner.js.map +1 -0
  198. package/dist/shared/file-scanner.test.d.ts +2 -0
  199. package/dist/shared/file-scanner.test.d.ts.map +1 -0
  200. package/dist/shared/file-scanner.test.js +138 -0
  201. package/dist/shared/file-scanner.test.js.map +1 -0
  202. package/dist/shared/index.d.ts +10 -0
  203. package/dist/shared/index.d.ts.map +1 -0
  204. package/dist/shared/index.js +8 -0
  205. package/dist/shared/index.js.map +1 -0
  206. package/dist/shared/inline-object-extractor.d.ts +13 -0
  207. package/dist/shared/inline-object-extractor.d.ts.map +1 -0
  208. package/dist/shared/inline-object-extractor.js +65 -0
  209. package/dist/shared/inline-object-extractor.js.map +1 -0
  210. package/dist/shared/inline-object-utils.d.ts +7 -0
  211. package/dist/shared/inline-object-utils.d.ts.map +1 -0
  212. package/dist/shared/inline-object-utils.js +23 -0
  213. package/dist/shared/inline-object-utils.js.map +1 -0
  214. package/dist/shared/interface-detector.d.ts +22 -0
  215. package/dist/shared/interface-detector.d.ts.map +1 -0
  216. package/dist/shared/interface-detector.js +90 -0
  217. package/dist/shared/interface-detector.js.map +1 -0
  218. package/dist/shared/interface-validator.d.ts +9 -0
  219. package/dist/shared/interface-validator.d.ts.map +1 -0
  220. package/dist/shared/interface-validator.js +152 -0
  221. package/dist/shared/interface-validator.js.map +1 -0
  222. package/dist/shared/interface-validator.test.d.ts +2 -0
  223. package/dist/shared/interface-validator.test.d.ts.map +1 -0
  224. package/dist/shared/interface-validator.test.js +145 -0
  225. package/dist/shared/interface-validator.test.js.map +1 -0
  226. package/dist/shared/metadata-detector.d.ts +65 -0
  227. package/dist/shared/metadata-detector.d.ts.map +1 -0
  228. package/dist/shared/metadata-detector.js +333 -0
  229. package/dist/shared/metadata-detector.js.map +1 -0
  230. package/dist/shared/program-factory.d.ts +14 -0
  231. package/dist/shared/program-factory.d.ts.map +1 -0
  232. package/dist/shared/program-factory.js +29 -0
  233. package/dist/shared/program-factory.js.map +1 -0
  234. package/dist/shared/source-location.d.ts +11 -0
  235. package/dist/shared/source-location.d.ts.map +1 -0
  236. package/dist/shared/source-location.js +15 -0
  237. package/dist/shared/source-location.js.map +1 -0
  238. package/dist/shared/tsconfig-loader.d.ts +13 -0
  239. package/dist/shared/tsconfig-loader.d.ts.map +1 -0
  240. package/dist/shared/tsconfig-loader.js +90 -0
  241. package/dist/shared/tsconfig-loader.js.map +1 -0
  242. package/dist/shared/tsdoc-parser.d.ts +12 -0
  243. package/dist/shared/tsdoc-parser.d.ts.map +1 -0
  244. package/dist/shared/tsdoc-parser.js +101 -0
  245. package/dist/shared/tsdoc-parser.js.map +1 -0
  246. package/dist/shared/type-converter.d.ts +3 -0
  247. package/dist/shared/type-converter.d.ts.map +1 -0
  248. package/dist/shared/type-converter.js +72 -0
  249. package/dist/shared/type-converter.js.map +1 -0
  250. package/dist/shared/typescript-utils.d.ts +55 -0
  251. package/dist/shared/typescript-utils.d.ts.map +1 -0
  252. package/dist/shared/typescript-utils.js +149 -0
  253. package/dist/shared/typescript-utils.js.map +1 -0
  254. package/dist/type-extractor/collector/result-collector.d.ts +7 -0
  255. package/dist/type-extractor/collector/result-collector.d.ts.map +1 -0
  256. package/dist/type-extractor/collector/result-collector.js +35 -0
  257. package/dist/type-extractor/collector/result-collector.js.map +1 -0
  258. package/dist/type-extractor/collector/scalar-collector.d.ts +108 -0
  259. package/dist/type-extractor/collector/scalar-collector.d.ts.map +1 -0
  260. package/dist/type-extractor/collector/scalar-collector.js +133 -0
  261. package/dist/type-extractor/collector/scalar-collector.js.map +1 -0
  262. package/dist/type-extractor/converter/field-eligibility.d.ts +34 -0
  263. package/dist/type-extractor/converter/field-eligibility.d.ts.map +1 -0
  264. package/dist/type-extractor/converter/field-eligibility.js +89 -0
  265. package/dist/type-extractor/converter/field-eligibility.js.map +1 -0
  266. package/dist/type-extractor/converter/graphql-converter.d.ts +7 -0
  267. package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -0
  268. package/dist/type-extractor/converter/graphql-converter.js +299 -0
  269. package/dist/type-extractor/converter/graphql-converter.js.map +1 -0
  270. package/dist/type-extractor/extract-types.d.ts +2 -0
  271. package/dist/type-extractor/extract-types.d.ts.map +1 -0
  272. package/dist/type-extractor/extract-types.js +2 -0
  273. package/dist/type-extractor/extract-types.js.map +1 -0
  274. package/dist/type-extractor/extractor/type-extractor.d.ts +27 -0
  275. package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -0
  276. package/dist/type-extractor/extractor/type-extractor.js +1116 -0
  277. package/dist/type-extractor/extractor/type-extractor.js.map +1 -0
  278. package/dist/type-extractor/index.d.ts +4 -0
  279. package/dist/type-extractor/index.d.ts.map +1 -0
  280. package/dist/type-extractor/index.js +2 -0
  281. package/dist/type-extractor/index.js.map +1 -0
  282. package/dist/type-extractor/types/diagnostics.d.ts +17 -0
  283. package/dist/type-extractor/types/diagnostics.d.ts.map +1 -0
  284. package/dist/type-extractor/types/diagnostics.js +2 -0
  285. package/dist/type-extractor/types/diagnostics.js.map +1 -0
  286. package/dist/type-extractor/types/graphql.d.ts +40 -0
  287. package/dist/type-extractor/types/graphql.d.ts.map +1 -0
  288. package/dist/type-extractor/types/graphql.js +2 -0
  289. package/dist/type-extractor/types/graphql.js.map +1 -0
  290. package/dist/type-extractor/types/index.d.ts +5 -0
  291. package/dist/type-extractor/types/index.d.ts.map +1 -0
  292. package/dist/type-extractor/types/index.js +2 -0
  293. package/dist/type-extractor/types/index.js.map +1 -0
  294. package/dist/type-extractor/types/typescript.d.ts +86 -0
  295. package/dist/type-extractor/types/typescript.d.ts.map +1 -0
  296. package/dist/type-extractor/types/typescript.js +2 -0
  297. package/dist/type-extractor/types/typescript.js.map +1 -0
  298. package/dist/type-extractor/types/typescript.test.d.ts +2 -0
  299. package/dist/type-extractor/types/typescript.test.d.ts.map +1 -0
  300. package/dist/type-extractor/types/typescript.test.js +287 -0
  301. package/dist/type-extractor/types/typescript.test.js.map +1 -0
  302. package/dist/type-extractor/validator/type-validator.d.ts +11 -0
  303. package/dist/type-extractor/validator/type-validator.d.ts.map +1 -0
  304. package/dist/type-extractor/validator/type-validator.js +53 -0
  305. package/dist/type-extractor/validator/type-validator.js.map +1 -0
  306. package/docs/configuration.md +163 -0
  307. package/docs/getting-started.md +117 -0
  308. package/docs/index.md +32 -0
  309. package/docs/integration/apollo.md +109 -0
  310. package/docs/integration/yoga.md +108 -0
  311. package/docs/schema/abstract-resolvers.md +146 -0
  312. package/docs/schema/directives.md +196 -0
  313. package/docs/schema/documentation.md +176 -0
  314. package/docs/schema/enums.md +162 -0
  315. package/docs/schema/fields.md +184 -0
  316. package/docs/schema/index.md +38 -0
  317. package/docs/schema/inputs.md +277 -0
  318. package/docs/schema/interfaces.md +178 -0
  319. package/docs/schema/objects.md +186 -0
  320. package/docs/schema/queries-mutations.md +205 -0
  321. package/docs/schema/scalars.md +194 -0
  322. package/docs/schema/unions.md +90 -0
  323. package/docs/what-is-gqlkit.md +22 -0
  324. package/package.json +59 -7
  325. package/README.md +0 -45
@@ -0,0 +1,417 @@
1
+ import path from "node:path";
2
+ import { Kind, } from "graphql";
3
+ import { toPosixPath } from "../../shared/index.js";
4
+ function appendSourceLocation(description, sourceFile, sourceRoot) {
5
+ if (!sourceRoot || !sourceFile) {
6
+ return description;
7
+ }
8
+ const relativePath = toPosixPath(path.relative(sourceRoot, sourceFile));
9
+ const sourceLocation = `Defined in: ${relativePath}`;
10
+ if (description) {
11
+ return `${description}\n\n${sourceLocation}`;
12
+ }
13
+ return sourceLocation;
14
+ }
15
+ function buildNameNode(value) {
16
+ return {
17
+ kind: Kind.NAME,
18
+ value,
19
+ };
20
+ }
21
+ function buildStringValueNode(value) {
22
+ return {
23
+ kind: Kind.STRING,
24
+ value,
25
+ block: true,
26
+ };
27
+ }
28
+ const DEFAULT_DEPRECATION_REASON = "No longer supported";
29
+ function buildDeprecatedDirective(deprecated) {
30
+ const reason = deprecated.reason ?? DEFAULT_DEPRECATION_REASON;
31
+ return {
32
+ kind: Kind.DIRECTIVE,
33
+ name: buildNameNode("deprecated"),
34
+ arguments: [
35
+ {
36
+ kind: Kind.ARGUMENT,
37
+ name: buildNameNode("reason"),
38
+ value: buildStringValueNode(reason),
39
+ },
40
+ ],
41
+ };
42
+ }
43
+ function buildOneOfDirective() {
44
+ return {
45
+ kind: Kind.DIRECTIVE,
46
+ name: buildNameNode("oneOf"),
47
+ };
48
+ }
49
+ function buildDirectiveArgumentValue(value, expectedTypeName) {
50
+ switch (value.kind) {
51
+ case "string":
52
+ return {
53
+ kind: Kind.STRING,
54
+ value: value.value,
55
+ };
56
+ case "number":
57
+ return Number.isInteger(value.value)
58
+ ? { kind: Kind.INT, value: String(value.value) }
59
+ : { kind: Kind.FLOAT, value: String(value.value) };
60
+ case "boolean":
61
+ return {
62
+ kind: Kind.BOOLEAN,
63
+ value: value.value,
64
+ };
65
+ case "null":
66
+ return {
67
+ kind: Kind.NULL,
68
+ };
69
+ case "enum":
70
+ // If the expected type is String, output as string literal with quotes
71
+ if (expectedTypeName === "String") {
72
+ return {
73
+ kind: Kind.STRING,
74
+ value: value.value,
75
+ };
76
+ }
77
+ return {
78
+ kind: Kind.ENUM,
79
+ value: value.value,
80
+ };
81
+ case "list":
82
+ return {
83
+ kind: Kind.LIST,
84
+ values: value.values.map((v) => buildDirectiveArgumentValue(v, expectedTypeName)),
85
+ };
86
+ case "object":
87
+ return {
88
+ kind: Kind.OBJECT,
89
+ fields: value.fields.map((f) => ({
90
+ kind: Kind.OBJECT_FIELD,
91
+ name: buildNameNode(f.name),
92
+ value: buildDirectiveArgumentValue(f.value),
93
+ })),
94
+ };
95
+ }
96
+ }
97
+ function buildDirectiveArgument(arg, expectedTypeName) {
98
+ return {
99
+ kind: Kind.ARGUMENT,
100
+ name: buildNameNode(arg.name),
101
+ value: buildDirectiveArgumentValue(arg.value, expectedTypeName),
102
+ };
103
+ }
104
+ function buildCustomDirective(directive, directiveDefMap) {
105
+ const def = directiveDefMap?.get(directive.name);
106
+ const argTypeMap = new Map();
107
+ if (def) {
108
+ for (const argDef of def.args) {
109
+ argTypeMap.set(argDef.name, argDef.type.typeName);
110
+ }
111
+ }
112
+ const args = directive.args.map((arg) => buildDirectiveArgument(arg, argTypeMap.get(arg.name)));
113
+ return {
114
+ kind: Kind.DIRECTIVE,
115
+ name: buildNameNode(directive.name),
116
+ ...(args.length > 0 ? { arguments: args } : {}),
117
+ };
118
+ }
119
+ function buildDirectives(directives, deprecated, directiveDefMap) {
120
+ const result = [];
121
+ if (deprecated) {
122
+ result.push(buildDeprecatedDirective(deprecated));
123
+ }
124
+ if (directives) {
125
+ for (const directive of directives) {
126
+ result.push(buildCustomDirective(directive, directiveDefMap));
127
+ }
128
+ }
129
+ return result;
130
+ }
131
+ function buildNamedTypeNode(typeName) {
132
+ return {
133
+ kind: Kind.NAMED_TYPE,
134
+ name: buildNameNode(typeName),
135
+ };
136
+ }
137
+ function buildListTypeNode(innerType) {
138
+ return {
139
+ kind: Kind.LIST_TYPE,
140
+ type: innerType,
141
+ };
142
+ }
143
+ function buildNonNullTypeNode(innerType) {
144
+ return {
145
+ kind: Kind.NON_NULL_TYPE,
146
+ type: innerType,
147
+ };
148
+ }
149
+ function buildFieldTypeNode(fieldType) {
150
+ const { typeName, nullable, list, listItemNullable } = fieldType;
151
+ if (list) {
152
+ const namedType = buildNamedTypeNode(typeName);
153
+ const itemType = listItemNullable === true ? namedType : buildNonNullTypeNode(namedType);
154
+ const listType = buildListTypeNode(itemType);
155
+ return nullable ? listType : buildNonNullTypeNode(listType);
156
+ }
157
+ const namedType = buildNamedTypeNode(typeName);
158
+ return nullable ? namedType : buildNonNullTypeNode(namedType);
159
+ }
160
+ function buildInputValueDefinitionNode(inputValue) {
161
+ const directives = [];
162
+ if (inputValue.deprecated) {
163
+ directives.push(buildDeprecatedDirective(inputValue.deprecated));
164
+ }
165
+ return {
166
+ kind: Kind.INPUT_VALUE_DEFINITION,
167
+ name: buildNameNode(inputValue.name),
168
+ type: buildFieldTypeNode(inputValue.type),
169
+ ...(inputValue.description
170
+ ? { description: buildStringValueNode(inputValue.description) }
171
+ : {}),
172
+ ...(inputValue.defaultValue
173
+ ? { defaultValue: buildDirectiveArgumentValue(inputValue.defaultValue) }
174
+ : {}),
175
+ ...(directives.length > 0 ? { directives } : {}),
176
+ };
177
+ }
178
+ function sortByName(items) {
179
+ return [...items].sort((a, b) => a.name.localeCompare(b.name));
180
+ }
181
+ function buildBaseFieldDefinitionNode(field, directiveDefMap) {
182
+ const directives = buildDirectives(field.directives, field.deprecated, directiveDefMap);
183
+ return {
184
+ kind: Kind.FIELD_DEFINITION,
185
+ name: buildNameNode(field.name),
186
+ type: buildFieldTypeNode(field.type),
187
+ ...(field.description
188
+ ? { description: buildStringValueNode(field.description) }
189
+ : {}),
190
+ ...(directives.length > 0 ? { directives } : {}),
191
+ };
192
+ }
193
+ function buildFieldDefinitionNode(field, sourceRoot, directiveDefMap) {
194
+ const directives = buildDirectives(field.directives, field.deprecated, directiveDefMap);
195
+ const args = field.args?.map(buildInputValueDefinitionNode);
196
+ const description = appendSourceLocation(field.description, field.resolverSourceFile, sourceRoot);
197
+ return {
198
+ kind: Kind.FIELD_DEFINITION,
199
+ name: buildNameNode(field.name),
200
+ ...(args && args.length > 0 ? { arguments: args } : {}),
201
+ type: buildFieldTypeNode(field.type),
202
+ ...(description ? { description: buildStringValueNode(description) } : {}),
203
+ ...(directives.length > 0 ? { directives } : {}),
204
+ };
205
+ }
206
+ function buildObjectTypeDefinitionNode(baseType, sourceRoot, directiveDefMap) {
207
+ const sortedFields = baseType.fields ? sortByName(baseType.fields) : [];
208
+ const directives = buildDirectives(baseType.directives, baseType.deprecated, directiveDefMap);
209
+ const description = appendSourceLocation(baseType.description, baseType.sourceFile, sourceRoot);
210
+ const interfaces = baseType.implementedInterfaces && baseType.implementedInterfaces.length > 0
211
+ ? [...baseType.implementedInterfaces]
212
+ .sort((a, b) => a.localeCompare(b))
213
+ .map(buildNamedTypeNode)
214
+ : undefined;
215
+ return {
216
+ kind: Kind.OBJECT_TYPE_DEFINITION,
217
+ name: buildNameNode(baseType.name),
218
+ fields: sortedFields.map((f) => buildBaseFieldDefinitionNode(f, directiveDefMap)),
219
+ ...(description ? { description: buildStringValueNode(description) } : {}),
220
+ ...(directives.length > 0 ? { directives } : {}),
221
+ ...(interfaces ? { interfaces } : {}),
222
+ };
223
+ }
224
+ function buildInterfaceTypeDefinitionNode(baseType, sourceRoot, directiveDefMap) {
225
+ const sortedFields = baseType.fields ? sortByName(baseType.fields) : [];
226
+ const directives = buildDirectives(baseType.directives, baseType.deprecated, directiveDefMap);
227
+ const description = appendSourceLocation(baseType.description, baseType.sourceFile, sourceRoot);
228
+ const interfaces = baseType.implementedInterfaces && baseType.implementedInterfaces.length > 0
229
+ ? [...baseType.implementedInterfaces]
230
+ .sort((a, b) => a.localeCompare(b))
231
+ .map(buildNamedTypeNode)
232
+ : undefined;
233
+ return {
234
+ kind: Kind.INTERFACE_TYPE_DEFINITION,
235
+ name: buildNameNode(baseType.name),
236
+ fields: sortedFields.map((f) => buildBaseFieldDefinitionNode(f, directiveDefMap)),
237
+ ...(description ? { description: buildStringValueNode(description) } : {}),
238
+ ...(directives.length > 0 ? { directives } : {}),
239
+ ...(interfaces ? { interfaces } : {}),
240
+ };
241
+ }
242
+ function buildUnionTypeDefinitionNode(baseType, sourceRoot) {
243
+ const sortedMembers = baseType.unionMembers
244
+ ? [...baseType.unionMembers].sort((a, b) => a.localeCompare(b))
245
+ : [];
246
+ const description = appendSourceLocation(baseType.description, baseType.sourceFile, sourceRoot);
247
+ return {
248
+ kind: Kind.UNION_TYPE_DEFINITION,
249
+ name: buildNameNode(baseType.name),
250
+ types: sortedMembers.map(buildNamedTypeNode),
251
+ ...(description ? { description: buildStringValueNode(description) } : {}),
252
+ };
253
+ }
254
+ function buildEnumValueDefinitionNode(value) {
255
+ const directives = [];
256
+ if (value.deprecated) {
257
+ directives.push(buildDeprecatedDirective(value.deprecated));
258
+ }
259
+ return {
260
+ kind: Kind.ENUM_VALUE_DEFINITION,
261
+ name: buildNameNode(value.name),
262
+ ...(value.description
263
+ ? { description: buildStringValueNode(value.description) }
264
+ : {}),
265
+ ...(directives.length > 0 ? { directives } : {}),
266
+ };
267
+ }
268
+ function buildEnumTypeDefinitionNode(baseType, sourceRoot) {
269
+ const enumValues = baseType.enumValues ?? [];
270
+ const description = appendSourceLocation(baseType.description, baseType.sourceFile, sourceRoot);
271
+ return {
272
+ kind: Kind.ENUM_TYPE_DEFINITION,
273
+ name: buildNameNode(baseType.name),
274
+ values: enumValues.map(buildEnumValueDefinitionNode),
275
+ ...(description ? { description: buildStringValueNode(description) } : {}),
276
+ };
277
+ }
278
+ function buildScalarTypeDefinitionNode(name, description) {
279
+ return {
280
+ kind: Kind.SCALAR_TYPE_DEFINITION,
281
+ name: buildNameNode(name),
282
+ ...(description ? { description: buildStringValueNode(description) } : {}),
283
+ };
284
+ }
285
+ function buildInputFieldDefinitionNode(field, directiveDefMap) {
286
+ const directives = buildDirectives(field.directives, field.deprecated, directiveDefMap);
287
+ return {
288
+ kind: Kind.INPUT_VALUE_DEFINITION,
289
+ name: buildNameNode(field.name),
290
+ type: buildFieldTypeNode(field.type),
291
+ ...(field.description
292
+ ? { description: buildStringValueNode(field.description) }
293
+ : {}),
294
+ ...(field.defaultValue
295
+ ? { defaultValue: buildDirectiveArgumentValue(field.defaultValue) }
296
+ : {}),
297
+ ...(directives.length > 0 ? { directives } : {}),
298
+ };
299
+ }
300
+ function buildInputObjectTypeDefinitionNode(inputType, sourceRoot, directiveDefMap) {
301
+ const sortedFields = sortByName(inputType.fields);
302
+ const description = appendSourceLocation(inputType.description, inputType.sourceFile, sourceRoot);
303
+ const directives = [];
304
+ if (inputType.isOneOf) {
305
+ directives.push(buildOneOfDirective());
306
+ }
307
+ return {
308
+ kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,
309
+ name: buildNameNode(inputType.name),
310
+ fields: sortedFields.map((f) => buildInputFieldDefinitionNode(f, directiveDefMap)),
311
+ ...(description ? { description: buildStringValueNode(description) } : {}),
312
+ ...(directives.length > 0 ? { directives } : {}),
313
+ };
314
+ }
315
+ function buildObjectTypeExtensionNode(typeExtension, sourceRoot, directiveDefMap) {
316
+ const sortedFields = sortByName(typeExtension.fields);
317
+ return {
318
+ kind: Kind.OBJECT_TYPE_EXTENSION,
319
+ name: buildNameNode(typeExtension.targetTypeName),
320
+ fields: sortedFields.map((field) => buildFieldDefinitionNode(field, sourceRoot, directiveDefMap)),
321
+ };
322
+ }
323
+ function buildInterfaceTypeExtensionNode(typeExtension, sourceRoot, directiveDefMap) {
324
+ const sortedFields = sortByName(typeExtension.fields);
325
+ return {
326
+ kind: Kind.INTERFACE_TYPE_EXTENSION,
327
+ name: buildNameNode(typeExtension.targetTypeName),
328
+ fields: sortedFields.map((field) => buildFieldDefinitionNode(field, sourceRoot, directiveDefMap)),
329
+ };
330
+ }
331
+ function buildDirectiveDefinitionNode(directiveDef) {
332
+ const sortedArgs = [...directiveDef.args].sort((a, b) => a.name.localeCompare(b.name));
333
+ const args = sortedArgs.map((arg) => ({
334
+ kind: Kind.INPUT_VALUE_DEFINITION,
335
+ name: buildNameNode(arg.name),
336
+ type: buildFieldTypeNode(arg.type),
337
+ ...(arg.description
338
+ ? { description: buildStringValueNode(arg.description) }
339
+ : {}),
340
+ }));
341
+ const sortedLocations = [...directiveDef.locations].sort((a, b) => a.localeCompare(b));
342
+ return {
343
+ kind: Kind.DIRECTIVE_DEFINITION,
344
+ name: buildNameNode(directiveDef.name),
345
+ repeatable: false,
346
+ locations: sortedLocations.map(buildNameNode),
347
+ ...(args.length > 0 ? { arguments: args } : {}),
348
+ ...(directiveDef.description
349
+ ? { description: buildStringValueNode(directiveDef.description) }
350
+ : {}),
351
+ };
352
+ }
353
+ export function buildDocumentNode(integratedResult, options) {
354
+ const sourceRoot = options?.sourceRoot;
355
+ const definitions = [];
356
+ // Build directive definition map for argument type lookup
357
+ const directiveDefMap = new Map();
358
+ if (integratedResult.directiveDefinitions) {
359
+ for (const def of integratedResult.directiveDefinitions) {
360
+ directiveDefMap.set(def.name, def);
361
+ }
362
+ }
363
+ if (integratedResult.directiveDefinitions) {
364
+ const sortedDirectives = [...integratedResult.directiveDefinitions].sort((a, b) => a.name.localeCompare(b.name));
365
+ for (const directiveDef of sortedDirectives) {
366
+ definitions.push(buildDirectiveDefinitionNode(directiveDef));
367
+ }
368
+ }
369
+ if (integratedResult.customScalars) {
370
+ const sortedScalars = [...integratedResult.customScalars].sort((a, b) => a.scalarName.localeCompare(b.scalarName));
371
+ for (const scalar of sortedScalars) {
372
+ definitions.push(buildScalarTypeDefinitionNode(scalar.scalarName, scalar.description ?? undefined));
373
+ }
374
+ }
375
+ else if (integratedResult.customScalarNames) {
376
+ const sortedScalarNames = [...integratedResult.customScalarNames].sort((a, b) => a.localeCompare(b));
377
+ for (const scalarName of sortedScalarNames) {
378
+ definitions.push(buildScalarTypeDefinitionNode(scalarName));
379
+ }
380
+ }
381
+ const sortedBaseTypes = [...integratedResult.baseTypes].sort((a, b) => a.name.localeCompare(b.name));
382
+ for (const baseType of sortedBaseTypes) {
383
+ if (baseType.kind === "Interface") {
384
+ definitions.push(buildInterfaceTypeDefinitionNode(baseType, sourceRoot, directiveDefMap));
385
+ }
386
+ else if (baseType.kind === "Object") {
387
+ definitions.push(buildObjectTypeDefinitionNode(baseType, sourceRoot, directiveDefMap));
388
+ }
389
+ else if (baseType.kind === "Union") {
390
+ definitions.push(buildUnionTypeDefinitionNode(baseType, sourceRoot));
391
+ }
392
+ else if (baseType.kind === "Enum") {
393
+ definitions.push(buildEnumTypeDefinitionNode(baseType, sourceRoot));
394
+ }
395
+ }
396
+ const sortedInputTypes = [...integratedResult.inputTypes].sort((a, b) => a.name.localeCompare(b.name));
397
+ for (const inputType of sortedInputTypes) {
398
+ definitions.push(buildInputObjectTypeDefinitionNode(inputType, sourceRoot, directiveDefMap));
399
+ }
400
+ const interfaceTypeNames = new Set(integratedResult.baseTypes
401
+ .filter((t) => t.kind === "Interface")
402
+ .map((t) => t.name));
403
+ const sortedExtensions = [...integratedResult.typeExtensions].sort((a, b) => a.targetTypeName.localeCompare(b.targetTypeName));
404
+ for (const ext of sortedExtensions) {
405
+ if (interfaceTypeNames.has(ext.targetTypeName)) {
406
+ definitions.push(buildInterfaceTypeExtensionNode(ext, sourceRoot, directiveDefMap));
407
+ }
408
+ else {
409
+ definitions.push(buildObjectTypeExtensionNode(ext, sourceRoot, directiveDefMap));
410
+ }
411
+ }
412
+ return {
413
+ kind: Kind.DOCUMENT,
414
+ definitions,
415
+ };
416
+ }
417
+ //# sourceMappingURL=ast-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-builder.js","sourceRoot":"","sources":["../../../src/schema-generator/builder/ast-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ast-builder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-builder.test.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/builder/ast-builder.test.ts"],"names":[],"mappings":""}