tsc-ts 0.0.4 → 0.0.5

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 (584) hide show
  1. package/README.md +33 -1
  2. package/dist/api/compiler/ast-utilities.d.ts +82 -0
  3. package/dist/api/compiler/ast-utilities.js +462 -0
  4. package/dist/api/compiler/ast.d.ts +2350 -0
  5. package/dist/api/compiler/ast.js +11206 -0
  6. package/dist/api/compiler/astnav.d.ts +37 -0
  7. package/dist/api/compiler/astnav.js +767 -0
  8. package/dist/api/compiler/binder-utilities.d.ts +182 -0
  9. package/dist/api/compiler/binder-utilities.js +1240 -0
  10. package/dist/api/compiler/binder.d.ts +33 -0
  11. package/dist/api/compiler/binder.js +2358 -0
  12. package/dist/api/compiler/character-codes.d.ts +161 -0
  13. package/dist/api/compiler/character-codes.js +160 -0
  14. package/dist/api/compiler/checker-calls.d.ts +46 -0
  15. package/dist/api/compiler/checker-calls.js +1640 -0
  16. package/dist/api/compiler/checker-classes.d.ts +30 -0
  17. package/dist/api/compiler/checker-classes.js +582 -0
  18. package/dist/api/compiler/checker-contextual.d.ts +77 -0
  19. package/dist/api/compiler/checker-contextual.js +1136 -0
  20. package/dist/api/compiler/checker-declaration-order.d.ts +12 -0
  21. package/dist/api/compiler/checker-declaration-order.js +356 -0
  22. package/dist/api/compiler/checker-declarations.d.ts +33 -0
  23. package/dist/api/compiler/checker-declarations.js +888 -0
  24. package/dist/api/compiler/checker-declared-types.d.ts +48 -0
  25. package/dist/api/compiler/checker-declared-types.js +787 -0
  26. package/dist/api/compiler/checker-decorators.d.ts +26 -0
  27. package/dist/api/compiler/checker-decorators.js +562 -0
  28. package/dist/api/compiler/checker-deprecation.d.ts +33 -0
  29. package/dist/api/compiler/checker-deprecation.js +315 -0
  30. package/dist/api/compiler/checker-destructuring.d.ts +34 -0
  31. package/dist/api/compiler/checker-destructuring.js +584 -0
  32. package/dist/api/compiler/checker-elaboration.d.ts +15 -0
  33. package/dist/api/compiler/checker-elaboration.js +290 -0
  34. package/dist/api/compiler/checker-emit-helpers.d.ts +58 -0
  35. package/dist/api/compiler/checker-emit-helpers.js +154 -0
  36. package/dist/api/compiler/checker-emit-resolver.d.ts +75 -0
  37. package/dist/api/compiler/checker-emit-resolver.js +579 -0
  38. package/dist/api/compiler/checker-evaluator.d.ts +27 -0
  39. package/dist/api/compiler/checker-evaluator.js +188 -0
  40. package/dist/api/compiler/checker-expressions.d.ts +67 -0
  41. package/dist/api/compiler/checker-expressions.js +1351 -0
  42. package/dist/api/compiler/checker-features.d.ts +6 -0
  43. package/dist/api/compiler/checker-features.js +354 -0
  44. package/dist/api/compiler/checker-flow.d.ts +86 -0
  45. package/dist/api/compiler/checker-flow.js +169 -0
  46. package/dist/api/compiler/checker-functions.d.ts +43 -0
  47. package/dist/api/compiler/checker-functions.js +1002 -0
  48. package/dist/api/compiler/checker-generated-code.d.ts +25 -0
  49. package/dist/api/compiler/checker-generated-code.js +168 -0
  50. package/dist/api/compiler/checker-globals.d.ts +14 -0
  51. package/dist/api/compiler/checker-globals.js +37 -0
  52. package/dist/api/compiler/checker-grammar.d.ts +35 -0
  53. package/dist/api/compiler/checker-grammar.js +2573 -0
  54. package/dist/api/compiler/checker-heritage.d.ts +28 -0
  55. package/dist/api/compiler/checker-heritage.js +900 -0
  56. package/dist/api/compiler/checker-inference.d.ts +179 -0
  57. package/dist/api/compiler/checker-inference.js +2105 -0
  58. package/dist/api/compiler/checker-iteration.d.ts +115 -0
  59. package/dist/api/compiler/checker-iteration.js +857 -0
  60. package/dist/api/compiler/checker-javascript.d.ts +42 -0
  61. package/dist/api/compiler/checker-javascript.js +441 -0
  62. package/dist/api/compiler/checker-jsdoc.d.ts +30 -0
  63. package/dist/api/compiler/checker-jsdoc.js +320 -0
  64. package/dist/api/compiler/checker-jsx.d.ts +94 -0
  65. package/dist/api/compiler/checker-jsx.js +1433 -0
  66. package/dist/api/compiler/checker-literals.d.ts +6 -0
  67. package/dist/api/compiler/checker-literals.js +43 -0
  68. package/dist/api/compiler/checker-members.d.ts +198 -0
  69. package/dist/api/compiler/checker-members.js +2126 -0
  70. package/dist/api/compiler/checker-modules.d.ts +85 -0
  71. package/dist/api/compiler/checker-modules.js +2141 -0
  72. package/dist/api/compiler/checker-narrowing.d.ts +120 -0
  73. package/dist/api/compiler/checker-narrowing.js +2797 -0
  74. package/dist/api/compiler/checker-object-literals.d.ts +14 -0
  75. package/dist/api/compiler/checker-object-literals.js +479 -0
  76. package/dist/api/compiler/checker-operators.d.ts +33 -0
  77. package/dist/api/compiler/checker-operators.js +1040 -0
  78. package/dist/api/compiler/checker-overloads.d.ts +7 -0
  79. package/dist/api/compiler/checker-overloads.js +270 -0
  80. package/dist/api/compiler/checker-property-access.d.ts +34 -0
  81. package/dist/api/compiler/checker-property-access.js +672 -0
  82. package/dist/api/compiler/checker-services.d.ts +49 -0
  83. package/dist/api/compiler/checker-services.js +995 -0
  84. package/dist/api/compiler/checker-signatures.d.ts +55 -0
  85. package/dist/api/compiler/checker-signatures.js +788 -0
  86. package/dist/api/compiler/checker-source-file.d.ts +27 -0
  87. package/dist/api/compiler/checker-source-file.js +619 -0
  88. package/dist/api/compiler/checker-statements.d.ts +18 -0
  89. package/dist/api/compiler/checker-statements.js +226 -0
  90. package/dist/api/compiler/checker-super.d.ts +13 -0
  91. package/dist/api/compiler/checker-super.js +241 -0
  92. package/dist/api/compiler/checker-symbol-types.d.ts +67 -0
  93. package/dist/api/compiler/checker-symbol-types.js +1885 -0
  94. package/dist/api/compiler/checker-symbols.d.ts +181 -0
  95. package/dist/api/compiler/checker-symbols.js +1782 -0
  96. package/dist/api/compiler/checker-type-factory.d.ts +142 -0
  97. package/dist/api/compiler/checker-type-factory.js +2501 -0
  98. package/dist/api/compiler/checker-type-nodes.d.ts +26 -0
  99. package/dist/api/compiler/checker-type-nodes.js +828 -0
  100. package/dist/api/compiler/checker-type-operators.d.ts +109 -0
  101. package/dist/api/compiler/checker-type-operators.js +1842 -0
  102. package/dist/api/compiler/checker-types.d.ts +1027 -0
  103. package/dist/api/compiler/checker-types.js +1697 -0
  104. package/dist/api/compiler/checker-unused.d.ts +19 -0
  105. package/dist/api/compiler/checker-unused.js +524 -0
  106. package/dist/api/compiler/checker-utilities.d.ts +33 -0
  107. package/dist/api/compiler/checker-utilities.js +141 -0
  108. package/dist/api/compiler/checker.d.ts +491 -0
  109. package/dist/api/compiler/checker.js +912 -0
  110. package/dist/api/compiler/command-line.d.ts +32 -0
  111. package/dist/api/compiler/command-line.js +383 -0
  112. package/dist/api/compiler/compile-program.d.ts +118 -0
  113. package/dist/api/compiler/compile-program.js +384 -0
  114. package/dist/api/compiler/diagnostic-locales.d.ts +22 -0
  115. package/dist/api/compiler/diagnostic-locales.js +64 -0
  116. package/dist/api/compiler/diagnostic-messages.d.ts +2166 -0
  117. package/dist/api/compiler/diagnostic-messages.js +184 -0
  118. package/dist/api/compiler/diagnostics.d.ts +167 -0
  119. package/dist/api/compiler/diagnostics.js +820 -0
  120. package/dist/api/compiler/emitter.d.ts +71 -0
  121. package/dist/api/compiler/emitter.js +327 -0
  122. package/dist/api/compiler/file-include.d.ts +117 -0
  123. package/dist/api/compiler/file-include.js +536 -0
  124. package/dist/api/compiler/file-loader.d.ts +261 -0
  125. package/dist/api/compiler/file-loader.js +1257 -0
  126. package/dist/api/compiler/file-system.d.ts +51 -0
  127. package/dist/api/compiler/file-system.js +132 -0
  128. package/dist/api/compiler/flow.d.ts +60 -0
  129. package/dist/api/compiler/flow.js +45 -0
  130. package/dist/api/compiler/instantiation.d.ts +74 -0
  131. package/dist/api/compiler/instantiation.js +799 -0
  132. package/dist/api/compiler/jsdoc.d.ts +75 -0
  133. package/dist/api/compiler/jsdoc.js +1229 -0
  134. package/dist/api/compiler/link-tables.d.ts +36 -0
  135. package/dist/api/compiler/link-tables.js +83 -0
  136. package/dist/api/compiler/locale-data.d.ts +24 -0
  137. package/dist/api/compiler/locale-data.js +183 -0
  138. package/dist/api/compiler/locale.d.ts +4 -0
  139. package/dist/api/compiler/locale.js +317 -0
  140. package/dist/api/compiler/locales/cs-CZ.d.ts +2 -0
  141. package/dist/api/compiler/locales/cs-CZ.js +3 -0
  142. package/dist/api/compiler/locales/de-DE.d.ts +2 -0
  143. package/dist/api/compiler/locales/de-DE.js +3 -0
  144. package/dist/api/compiler/locales/es-ES.d.ts +2 -0
  145. package/dist/api/compiler/locales/es-ES.js +3 -0
  146. package/dist/api/compiler/locales/fr-FR.d.ts +2 -0
  147. package/dist/api/compiler/locales/fr-FR.js +3 -0
  148. package/dist/api/compiler/locales/it-IT.d.ts +2 -0
  149. package/dist/api/compiler/locales/it-IT.js +3 -0
  150. package/dist/api/compiler/locales/ja-JP.d.ts +2 -0
  151. package/dist/api/compiler/locales/ja-JP.js +3 -0
  152. package/dist/api/compiler/locales/ko-KR.d.ts +2 -0
  153. package/dist/api/compiler/locales/ko-KR.js +3 -0
  154. package/dist/api/compiler/locales/pl-PL.d.ts +2 -0
  155. package/dist/api/compiler/locales/pl-PL.js +3 -0
  156. package/dist/api/compiler/locales/pt-BR.d.ts +2 -0
  157. package/dist/api/compiler/locales/pt-BR.js +3 -0
  158. package/dist/api/compiler/locales/ru-RU.d.ts +2 -0
  159. package/dist/api/compiler/locales/ru-RU.js +3 -0
  160. package/dist/api/compiler/locales/tr-TR.d.ts +2 -0
  161. package/dist/api/compiler/locales/tr-TR.js +3 -0
  162. package/dist/api/compiler/locales/zh-CN.d.ts +2 -0
  163. package/dist/api/compiler/locales/zh-CN.js +3 -0
  164. package/dist/api/compiler/locales/zh-TW.d.ts +2 -0
  165. package/dist/api/compiler/locales/zh-TW.js +3 -0
  166. package/dist/api/compiler/module-resolution-types.d.ts +83 -0
  167. package/dist/api/compiler/module-resolution-types.js +176 -0
  168. package/dist/api/compiler/module-resolution.d.ts +71 -0
  169. package/dist/api/compiler/module-resolution.js +1598 -0
  170. package/dist/api/compiler/module-specifiers.d.ts +64 -0
  171. package/dist/api/compiler/module-specifiers.js +1101 -0
  172. package/dist/api/compiler/name-resolver.d.ts +43 -0
  173. package/dist/api/compiler/name-resolver.js +509 -0
  174. package/dist/api/compiler/node-builder-names.d.ts +32 -0
  175. package/dist/api/compiler/node-builder-names.js +854 -0
  176. package/dist/api/compiler/node-builder-pseudo.d.ts +36 -0
  177. package/dist/api/compiler/node-builder-pseudo.js +744 -0
  178. package/dist/api/compiler/node-builder-reuse.d.ts +4 -0
  179. package/dist/api/compiler/node-builder-reuse.js +647 -0
  180. package/dist/api/compiler/node-builder.d.ts +270 -0
  181. package/dist/api/compiler/node-builder.js +2645 -0
  182. package/dist/api/compiler/option-declarations.d.ts +90 -0
  183. package/dist/api/compiler/option-declarations.js +1460 -0
  184. package/dist/api/compiler/options.d.ts +289 -0
  185. package/dist/api/compiler/options.js +1197 -0
  186. package/dist/api/compiler/output-paths.d.ts +42 -0
  187. package/dist/api/compiler/output-paths.js +195 -0
  188. package/dist/api/compiler/package-json.d.ts +175 -0
  189. package/dist/api/compiler/package-json.js +1015 -0
  190. package/dist/api/compiler/parallel-parse.d.ts +219 -0
  191. package/dist/api/compiler/parallel-parse.js +537 -0
  192. package/dist/api/compiler/parser.d.ts +587 -0
  193. package/dist/api/compiler/parser.js +6407 -0
  194. package/dist/api/compiler/path.d.ts +91 -0
  195. package/dist/api/compiler/path.js +705 -0
  196. package/dist/api/compiler/printer/async-helpers.d.ts +22 -0
  197. package/dist/api/compiler/printer/async-helpers.js +91 -0
  198. package/dist/api/compiler/printer/auto-generate.d.ts +13 -0
  199. package/dist/api/compiler/printer/auto-generate.js +20 -0
  200. package/dist/api/compiler/printer/decorator-helpers.d.ts +24 -0
  201. package/dist/api/compiler/printer/decorator-helpers.js +118 -0
  202. package/dist/api/compiler/printer/emit-context.d.ts +154 -0
  203. package/dist/api/compiler/printer/emit-context.js +576 -0
  204. package/dist/api/compiler/printer/emit-flags.d.ts +60 -0
  205. package/dist/api/compiler/printer/emit-flags.js +2 -0
  206. package/dist/api/compiler/printer/factory-base.d.ts +171 -0
  207. package/dist/api/compiler/printer/factory-base.js +1505 -0
  208. package/dist/api/compiler/printer/factory.d.ts +147 -0
  209. package/dist/api/compiler/printer/factory.js +542 -0
  210. package/dist/api/compiler/printer/helpers.d.ts +27 -0
  211. package/dist/api/compiler/printer/helpers.js +164 -0
  212. package/dist/api/compiler/printer/name-generator.d.ts +41 -0
  213. package/dist/api/compiler/printer/name-generator.js +283 -0
  214. package/dist/api/compiler/printer/printer.d.ts +411 -0
  215. package/dist/api/compiler/printer/printer.js +4517 -0
  216. package/dist/api/compiler/printer/text-writer.d.ts +46 -0
  217. package/dist/api/compiler/printer/text-writer.js +172 -0
  218. package/dist/api/compiler/printer/utilities.d.ts +82 -0
  219. package/dist/api/compiler/printer/utilities.js +817 -0
  220. package/dist/api/compiler/program-checker.d.ts +156 -0
  221. package/dist/api/compiler/program-checker.js +526 -0
  222. package/dist/api/compiler/program-utilities.d.ts +52 -0
  223. package/dist/api/compiler/program-utilities.js +365 -0
  224. package/dist/api/compiler/program.d.ts +180 -0
  225. package/dist/api/compiler/program.js +1011 -0
  226. package/dist/api/compiler/pseudo-bigint.d.ts +5 -0
  227. package/dist/api/compiler/pseudo-bigint.js +61 -0
  228. package/dist/api/compiler/regexp-checker.d.ts +38 -0
  229. package/dist/api/compiler/regexp-checker.js +942 -0
  230. package/dist/api/compiler/relations.d.ts +263 -0
  231. package/dist/api/compiler/relations.js +4002 -0
  232. package/dist/api/compiler/reparser.d.ts +48 -0
  233. package/dist/api/compiler/reparser.js +1323 -0
  234. package/dist/api/compiler/scanner.d.ts +256 -0
  235. package/dist/api/compiler/scanner.js +2853 -0
  236. package/dist/api/compiler/side-state.d.ts +16 -0
  237. package/dist/api/compiler/side-state.js +89 -0
  238. package/dist/api/compiler/sourcemap.d.ts +55 -0
  239. package/dist/api/compiler/sourcemap.js +340 -0
  240. package/dist/api/compiler/spelling.d.ts +14 -0
  241. package/dist/api/compiler/spelling.js +128 -0
  242. package/dist/api/compiler/symbol-accessibility.d.ts +57 -0
  243. package/dist/api/compiler/symbol-accessibility.js +894 -0
  244. package/dist/api/compiler/symbol.d.ts +240 -0
  245. package/dist/api/compiler/symbol.js +228 -0
  246. package/dist/api/compiler/symlinks.d.ts +32 -0
  247. package/dist/api/compiler/symlinks.js +114 -0
  248. package/dist/api/compiler/syntax-kind.d.ts +389 -0
  249. package/dist/api/compiler/syntax-kind.js +2 -0
  250. package/dist/api/compiler/timeline.d.ts +9 -0
  251. package/dist/api/compiler/timeline.js +54 -0
  252. package/dist/api/compiler/transformers/alias-references.d.ts +39 -0
  253. package/dist/api/compiler/transformers/alias-references.js +676 -0
  254. package/dist/api/compiler/transformers/async-utilities.d.ts +51 -0
  255. package/dist/api/compiler/transformers/async-utilities.js +260 -0
  256. package/dist/api/compiler/transformers/async.d.ts +53 -0
  257. package/dist/api/compiler/transformers/async.js +645 -0
  258. package/dist/api/compiler/transformers/class-fields.d.ts +206 -0
  259. package/dist/api/compiler/transformers/class-fields.js +2418 -0
  260. package/dist/api/compiler/transformers/class-utilities.d.ts +46 -0
  261. package/dist/api/compiler/transformers/class-utilities.js +261 -0
  262. package/dist/api/compiler/transformers/commonjs-module.d.ts +103 -0
  263. package/dist/api/compiler/transformers/commonjs-module.js +1180 -0
  264. package/dist/api/compiler/transformers/const-enum-inliner.d.ts +11 -0
  265. package/dist/api/compiler/transformers/const-enum-inliner.js +36 -0
  266. package/dist/api/compiler/transformers/declarations-diagnostics.d.ts +52 -0
  267. package/dist/api/compiler/transformers/declarations-diagnostics.js +538 -0
  268. package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
  269. package/dist/api/compiler/transformers/declarations-pseudo.js +797 -0
  270. package/dist/api/compiler/transformers/declarations-resolver.d.ts +152 -0
  271. package/dist/api/compiler/transformers/declarations-resolver.js +35 -0
  272. package/dist/api/compiler/transformers/declarations-syntactic.d.ts +119 -0
  273. package/dist/api/compiler/transformers/declarations-syntactic.js +1582 -0
  274. package/dist/api/compiler/transformers/declarations-tracker.d.ts +46 -0
  275. package/dist/api/compiler/transformers/declarations-tracker.js +197 -0
  276. package/dist/api/compiler/transformers/declarations.d.ts +175 -0
  277. package/dist/api/compiler/transformers/declarations.js +2380 -0
  278. package/dist/api/compiler/transformers/decorator-metadata.d.ts +54 -0
  279. package/dist/api/compiler/transformers/decorator-metadata.js +554 -0
  280. package/dist/api/compiler/transformers/decorator-utilities.d.ts +38 -0
  281. package/dist/api/compiler/transformers/decorator-utilities.js +238 -0
  282. package/dist/api/compiler/transformers/destructuring.d.ts +25 -0
  283. package/dist/api/compiler/transformers/destructuring.js +626 -0
  284. package/dist/api/compiler/transformers/downlevel.d.ts +6 -0
  285. package/dist/api/compiler/transformers/downlevel.js +45 -0
  286. package/dist/api/compiler/transformers/emit-resolver.d.ts +61 -0
  287. package/dist/api/compiler/transformers/emit-resolver.js +197 -0
  288. package/dist/api/compiler/transformers/es-decorators.d.ts +118 -0
  289. package/dist/api/compiler/transformers/es-decorators.js +1901 -0
  290. package/dist/api/compiler/transformers/exponentiation.d.ts +11 -0
  291. package/dist/api/compiler/transformers/exponentiation.js +76 -0
  292. package/dist/api/compiler/transformers/external-module-info.d.ts +35 -0
  293. package/dist/api/compiler/transformers/external-module-info.js +351 -0
  294. package/dist/api/compiler/transformers/for-await.d.ts +43 -0
  295. package/dist/api/compiler/transformers/for-await.js +469 -0
  296. package/dist/api/compiler/transformers/import-elision.d.ts +16 -0
  297. package/dist/api/compiler/transformers/import-elision.js +124 -0
  298. package/dist/api/compiler/transformers/jsx-entities.d.ts +1 -0
  299. package/dist/api/compiler/transformers/jsx-entities.js +256 -0
  300. package/dist/api/compiler/transformers/jsx.d.ts +71 -0
  301. package/dist/api/compiler/transformers/jsx.js +700 -0
  302. package/dist/api/compiler/transformers/legacy-decorators.d.ts +56 -0
  303. package/dist/api/compiler/transformers/legacy-decorators.js +564 -0
  304. package/dist/api/compiler/transformers/logical-assignment.d.ts +14 -0
  305. package/dist/api/compiler/transformers/logical-assignment.js +62 -0
  306. package/dist/api/compiler/transformers/module-utilities.d.ts +9 -0
  307. package/dist/api/compiler/transformers/module-utilities.js +36 -0
  308. package/dist/api/compiler/transformers/module.d.ts +49 -0
  309. package/dist/api/compiler/transformers/module.js +296 -0
  310. package/dist/api/compiler/transformers/named-evaluation.d.ts +26 -0
  311. package/dist/api/compiler/transformers/named-evaluation.js +266 -0
  312. package/dist/api/compiler/transformers/nullish-coalescing.d.ts +9 -0
  313. package/dist/api/compiler/transformers/nullish-coalescing.js +26 -0
  314. package/dist/api/compiler/transformers/object-rest-spread.d.ts +34 -0
  315. package/dist/api/compiler/transformers/object-rest-spread.js +411 -0
  316. package/dist/api/compiler/transformers/optional-catch.d.ts +9 -0
  317. package/dist/api/compiler/transformers/optional-catch.js +20 -0
  318. package/dist/api/compiler/transformers/optional-chain.d.ts +14 -0
  319. package/dist/api/compiler/transformers/optional-chain.js +188 -0
  320. package/dist/api/compiler/transformers/reference-resolver.d.ts +128 -0
  321. package/dist/api/compiler/transformers/reference-resolver.js +1155 -0
  322. package/dist/api/compiler/transformers/runtime-syntax.d.ts +71 -0
  323. package/dist/api/compiler/transformers/runtime-syntax.js +753 -0
  324. package/dist/api/compiler/transformers/subtree-facts.d.ts +9 -0
  325. package/dist/api/compiler/transformers/subtree-facts.js +203 -0
  326. package/dist/api/compiler/transformers/syntax-facts.d.ts +51 -0
  327. package/dist/api/compiler/transformers/syntax-facts.js +254 -0
  328. package/dist/api/compiler/transformers/tagged-template.d.ts +17 -0
  329. package/dist/api/compiler/transformers/tagged-template.js +148 -0
  330. package/dist/api/compiler/transformers/transformer.d.ts +17 -0
  331. package/dist/api/compiler/transformers/transformer.js +54 -0
  332. package/dist/api/compiler/transformers/type-eraser.d.ts +21 -0
  333. package/dist/api/compiler/transformers/type-eraser.js +346 -0
  334. package/dist/api/compiler/transformers/type-serialization.d.ts +20 -0
  335. package/dist/api/compiler/transformers/type-serialization.js +347 -0
  336. package/dist/api/compiler/transformers/using.d.ts +56 -0
  337. package/dist/api/compiler/transformers/using.js +453 -0
  338. package/dist/api/compiler/transformers/utilities.d.ts +50 -0
  339. package/dist/api/compiler/transformers/utilities.js +347 -0
  340. package/dist/api/compiler/transformers/visitor-base.d.ts +6 -0
  341. package/dist/api/compiler/transformers/visitor-base.js +817 -0
  342. package/dist/api/compiler/transformers/visitor-hooks.d.ts +29 -0
  343. package/dist/api/compiler/transformers/visitor-hooks.js +189 -0
  344. package/dist/api/compiler/tsconfig.d.ts +177 -0
  345. package/dist/api/compiler/tsconfig.js +1311 -0
  346. package/dist/api/compiler/type-printer.d.ts +15 -0
  347. package/dist/api/compiler/type-printer.js +74 -0
  348. package/dist/api/compiler/types.d.ts +87 -0
  349. package/dist/api/compiler/types.js +23 -0
  350. package/dist/api/compiler/unicode-identifiers.d.ts +2 -0
  351. package/dist/api/compiler/unicode-identifiers.js +209 -0
  352. package/dist/api/compiler/unicode-properties.d.ts +8 -0
  353. package/dist/api/compiler/unicode-properties.js +531 -0
  354. package/dist/api/compiler/vfs-match.d.ts +24 -0
  355. package/dist/api/compiler/vfs-match.js +587 -0
  356. package/dist/api/library/ast.d.ts +3 -2
  357. package/dist/api/library/ast.generated.d.ts +127 -139
  358. package/dist/api/library/checker.d.ts +51 -0
  359. package/dist/api/library/checker.js +318 -0
  360. package/dist/api/library/diagnostics.d.ts +13 -0
  361. package/dist/api/library/diagnostics.js +50 -0
  362. package/dist/api/library/disk.d.ts +13 -0
  363. package/dist/api/library/disk.js +66 -0
  364. package/dist/api/library/errors.d.ts +13 -0
  365. package/dist/api/library/errors.js +24 -0
  366. package/dist/api/library/host.d.ts +24 -0
  367. package/dist/api/library/host.js +52 -0
  368. package/dist/api/library/index.d.ts +5 -1
  369. package/dist/api/library/index.js +4 -0
  370. package/dist/api/library/nodes.d.ts +51 -0
  371. package/dist/api/library/nodes.js +196 -0
  372. package/dist/api/library/options.d.ts +144 -0
  373. package/dist/api/library/options.js +308 -0
  374. package/dist/api/library/parse.d.ts +19 -0
  375. package/dist/api/library/parse.js +41 -0
  376. package/dist/api/library/program.d.ts +21 -0
  377. package/dist/api/library/program.js +234 -0
  378. package/dist/api/library/types.d.ts +14 -1
  379. package/package.json +12 -8
  380. package/src/compiler/ast-utilities.ts +548 -0
  381. package/src/compiler/ast.ts +12862 -0
  382. package/src/compiler/astnav.ts +799 -0
  383. package/src/compiler/binder-utilities.ts +1392 -0
  384. package/src/compiler/binder.ts +2703 -0
  385. package/src/compiler/build-info.ts +1197 -0
  386. package/src/compiler/character-codes.ts +323 -0
  387. package/src/compiler/checker-calls.ts +2155 -0
  388. package/src/compiler/checker-classes.ts +706 -0
  389. package/src/compiler/checker-contextual.ts +1457 -0
  390. package/src/compiler/checker-declaration-order.ts +438 -0
  391. package/src/compiler/checker-declarations.ts +1194 -0
  392. package/src/compiler/checker-declared-types.ts +919 -0
  393. package/src/compiler/checker-decorators.ts +694 -0
  394. package/src/compiler/checker-deprecation.ts +359 -0
  395. package/src/compiler/checker-destructuring.ts +805 -0
  396. package/src/compiler/checker-elaboration.ts +477 -0
  397. package/src/compiler/checker-emit-helpers.ts +224 -0
  398. package/src/compiler/checker-emit-resolver.ts +769 -0
  399. package/src/compiler/checker-evaluator.ts +243 -0
  400. package/src/compiler/checker-expressions.ts +1831 -0
  401. package/src/compiler/checker-features.ts +361 -0
  402. package/src/compiler/checker-flow.ts +394 -0
  403. package/src/compiler/checker-functions.ts +1296 -0
  404. package/src/compiler/checker-generated-code.ts +227 -0
  405. package/src/compiler/checker-globals.ts +52 -0
  406. package/src/compiler/checker-grammar.ts +3584 -0
  407. package/src/compiler/checker-heritage.ts +1233 -0
  408. package/src/compiler/checker-inference.ts +2576 -0
  409. package/src/compiler/checker-iteration.ts +1206 -0
  410. package/src/compiler/checker-javascript.ts +502 -0
  411. package/src/compiler/checker-jsdoc.ts +360 -0
  412. package/src/compiler/checker-jsx.ts +1924 -0
  413. package/src/compiler/checker-literals.ts +61 -0
  414. package/src/compiler/checker-members.ts +2436 -0
  415. package/src/compiler/checker-modules.ts +2886 -0
  416. package/src/compiler/checker-narrowing.ts +3230 -0
  417. package/src/compiler/checker-object-literals.ts +575 -0
  418. package/src/compiler/checker-operators.ts +1422 -0
  419. package/src/compiler/checker-overloads.ts +328 -0
  420. package/src/compiler/checker-property-access.ts +906 -0
  421. package/src/compiler/checker-services.ts +1149 -0
  422. package/src/compiler/checker-signatures.ts +1032 -0
  423. package/src/compiler/checker-source-file.ts +732 -0
  424. package/src/compiler/checker-statements.ts +292 -0
  425. package/src/compiler/checker-super.ts +261 -0
  426. package/src/compiler/checker-symbol-types.ts +2107 -0
  427. package/src/compiler/checker-symbols.ts +2150 -0
  428. package/src/compiler/checker-type-factory.ts +2579 -0
  429. package/src/compiler/checker-type-nodes.ts +1033 -0
  430. package/src/compiler/checker-type-operators.ts +2502 -0
  431. package/src/compiler/checker-types.ts +2340 -0
  432. package/src/compiler/checker-unused.ts +642 -0
  433. package/src/compiler/checker-utilities.ts +161 -0
  434. package/src/compiler/checker.ts +1116 -0
  435. package/src/compiler/command-line.ts +436 -0
  436. package/src/compiler/compile-program.ts +439 -0
  437. package/src/compiler/decoder.ts +1209 -0
  438. package/src/compiler/diagnostic-locales.ts +86 -0
  439. package/src/compiler/diagnostic-messages.ts +2349 -0
  440. package/src/compiler/diagnostics.ts +897 -0
  441. package/src/compiler/emitter.ts +434 -0
  442. package/src/compiler/encoder.ts +1945 -0
  443. package/src/compiler/file-include.ts +673 -0
  444. package/src/compiler/file-loader.ts +1528 -0
  445. package/src/compiler/file-system.ts +143 -0
  446. package/src/compiler/flow.ts +89 -0
  447. package/src/compiler/help.ts +473 -0
  448. package/src/compiler/incremental.ts +2784 -0
  449. package/src/compiler/init.ts +141 -0
  450. package/src/compiler/instantiation.ts +894 -0
  451. package/src/compiler/jsdoc.ts +1386 -0
  452. package/src/compiler/link-tables.ts +98 -0
  453. package/src/compiler/locale-data.ts +203 -0
  454. package/src/compiler/locale.ts +307 -0
  455. package/src/compiler/locales/cs-CZ.ts +5 -0
  456. package/src/compiler/locales/de-DE.ts +5 -0
  457. package/src/compiler/locales/es-ES.ts +5 -0
  458. package/src/compiler/locales/fr-FR.ts +5 -0
  459. package/src/compiler/locales/it-IT.ts +5 -0
  460. package/src/compiler/locales/ja-JP.ts +5 -0
  461. package/src/compiler/locales/ko-KR.ts +5 -0
  462. package/src/compiler/locales/pl-PL.ts +5 -0
  463. package/src/compiler/locales/pt-BR.ts +5 -0
  464. package/src/compiler/locales/ru-RU.ts +5 -0
  465. package/src/compiler/locales/tr-TR.ts +5 -0
  466. package/src/compiler/locales/zh-CN.ts +5 -0
  467. package/src/compiler/locales/zh-TW.ts +5 -0
  468. package/src/compiler/module-resolution-types.ts +243 -0
  469. package/src/compiler/module-resolution.ts +2072 -0
  470. package/src/compiler/module-specifiers.ts +1491 -0
  471. package/src/compiler/name-resolver.ts +646 -0
  472. package/src/compiler/node-builder-names.ts +1069 -0
  473. package/src/compiler/node-builder-pseudo.ts +892 -0
  474. package/src/compiler/node-builder-reuse.ts +764 -0
  475. package/src/compiler/node-builder.ts +3425 -0
  476. package/src/compiler/option-declarations.ts +1560 -0
  477. package/src/compiler/options.ts +1576 -0
  478. package/src/compiler/output-paths.ts +334 -0
  479. package/src/compiler/package-json.ts +1083 -0
  480. package/src/compiler/parallel-check.ts +1951 -0
  481. package/src/compiler/parallel-parse.ts +590 -0
  482. package/src/compiler/parse-thread.ts +140 -0
  483. package/src/compiler/parser.ts +7716 -0
  484. package/src/compiler/path.ts +717 -0
  485. package/src/compiler/printer/async-helpers.ts +183 -0
  486. package/src/compiler/printer/auto-generate.ts +27 -0
  487. package/src/compiler/printer/decorator-helpers.ts +218 -0
  488. package/src/compiler/printer/emit-context.ts +679 -0
  489. package/src/compiler/printer/emit-flags.ts +64 -0
  490. package/src/compiler/printer/factory-base.ts +2577 -0
  491. package/src/compiler/printer/factory.ts +764 -0
  492. package/src/compiler/printer/helpers.ts +291 -0
  493. package/src/compiler/printer/name-generator.ts +372 -0
  494. package/src/compiler/printer/printer.ts +5072 -0
  495. package/src/compiler/printer/text-writer.ts +183 -0
  496. package/src/compiler/printer/utilities.ts +884 -0
  497. package/src/compiler/program-checker.ts +592 -0
  498. package/src/compiler/program-utilities.ts +435 -0
  499. package/src/compiler/program.ts +1419 -0
  500. package/src/compiler/pseudo-bigint.ts +62 -0
  501. package/src/compiler/regexp-checker.ts +1142 -0
  502. package/src/compiler/relations.ts +5149 -0
  503. package/src/compiler/reparser.ts +1566 -0
  504. package/src/compiler/scanner.ts +2951 -0
  505. package/src/compiler/show-config.ts +239 -0
  506. package/src/compiler/side-state.ts +125 -0
  507. package/src/compiler/sourcemap.ts +366 -0
  508. package/src/compiler/spelling.ts +122 -0
  509. package/src/compiler/symbol-accessibility.ts +1071 -0
  510. package/src/compiler/symbol.ts +439 -0
  511. package/src/compiler/symlinks.ts +137 -0
  512. package/src/compiler/syntax-kind.ts +391 -0
  513. package/src/compiler/thread-entry.ts +191 -0
  514. package/src/compiler/timeline.ts +53 -0
  515. package/src/compiler/transformers/alias-references.ts +757 -0
  516. package/src/compiler/transformers/async-utilities.ts +335 -0
  517. package/src/compiler/transformers/async.ts +838 -0
  518. package/src/compiler/transformers/class-fields.ts +2967 -0
  519. package/src/compiler/transformers/class-utilities.ts +324 -0
  520. package/src/compiler/transformers/commonjs-module.ts +1621 -0
  521. package/src/compiler/transformers/const-enum-inliner.ts +50 -0
  522. package/src/compiler/transformers/declarations-diagnostics.ts +832 -0
  523. package/src/compiler/transformers/declarations-pseudo.ts +966 -0
  524. package/src/compiler/transformers/declarations-resolver.ts +249 -0
  525. package/src/compiler/transformers/declarations-syntactic.ts +1859 -0
  526. package/src/compiler/transformers/declarations-tracker.ts +269 -0
  527. package/src/compiler/transformers/declarations.ts +3120 -0
  528. package/src/compiler/transformers/decorator-metadata.ts +697 -0
  529. package/src/compiler/transformers/decorator-utilities.ts +283 -0
  530. package/src/compiler/transformers/destructuring.ts +708 -0
  531. package/src/compiler/transformers/downlevel.ts +50 -0
  532. package/src/compiler/transformers/emit-resolver.ts +258 -0
  533. package/src/compiler/transformers/es-decorators.ts +2682 -0
  534. package/src/compiler/transformers/exponentiation.ts +80 -0
  535. package/src/compiler/transformers/external-module-info.ts +412 -0
  536. package/src/compiler/transformers/for-await.ts +687 -0
  537. package/src/compiler/transformers/import-elision.ts +152 -0
  538. package/src/compiler/transformers/jsx-entities.ts +256 -0
  539. package/src/compiler/transformers/jsx.ts +824 -0
  540. package/src/compiler/transformers/legacy-decorators.ts +726 -0
  541. package/src/compiler/transformers/logical-assignment.ts +75 -0
  542. package/src/compiler/transformers/module-utilities.ts +42 -0
  543. package/src/compiler/transformers/module.ts +474 -0
  544. package/src/compiler/transformers/named-evaluation.ts +389 -0
  545. package/src/compiler/transformers/nullish-coalescing.ts +35 -0
  546. package/src/compiler/transformers/object-rest-spread.ts +577 -0
  547. package/src/compiler/transformers/optional-catch.ts +29 -0
  548. package/src/compiler/transformers/optional-chain.ts +246 -0
  549. package/src/compiler/transformers/reference-resolver.ts +1201 -0
  550. package/src/compiler/transformers/runtime-syntax.ts +942 -0
  551. package/src/compiler/transformers/subtree-facts.ts +245 -0
  552. package/src/compiler/transformers/syntax-facts.ts +353 -0
  553. package/src/compiler/transformers/tagged-template.ts +167 -0
  554. package/src/compiler/transformers/transformer.ts +56 -0
  555. package/src/compiler/transformers/type-eraser.ts +520 -0
  556. package/src/compiler/transformers/type-serialization.ts +374 -0
  557. package/src/compiler/transformers/using.ts +613 -0
  558. package/src/compiler/transformers/utilities.ts +419 -0
  559. package/src/compiler/transformers/visitor-base.ts +1601 -0
  560. package/src/compiler/transformers/visitor-hooks.ts +252 -0
  561. package/src/compiler/tsc-build.ts +1418 -0
  562. package/src/compiler/tsc-cli.ts +666 -0
  563. package/src/compiler/tsc-compile.ts +437 -0
  564. package/src/compiler/tsc-watch.ts +854 -0
  565. package/src/compiler/tsconfig.ts +1574 -0
  566. package/src/compiler/type-printer.ts +110 -0
  567. package/src/compiler/types.ts +115 -0
  568. package/src/compiler/unicode-identifiers.ts +212 -0
  569. package/src/compiler/unicode-properties.ts +537 -0
  570. package/src/compiler/vfs-match.ts +597 -0
  571. package/src/compiler/xxh3.ts +650 -0
  572. package/src/library/ast.generated.ts +141 -167
  573. package/src/library/ast.ts +4 -1
  574. package/src/library/checker.ts +384 -0
  575. package/src/library/diagnostics.ts +72 -0
  576. package/src/library/disk.ts +73 -0
  577. package/src/library/errors.ts +26 -0
  578. package/src/library/host.ts +63 -0
  579. package/src/library/index.ts +21 -0
  580. package/src/library/nodes.ts +232 -0
  581. package/src/library/options.ts +449 -0
  582. package/src/library/parse.ts +63 -0
  583. package/src/library/program.ts +293 -0
  584. package/src/library/types.ts +14 -1
@@ -0,0 +1,51 @@
1
+ import { type Checker } from '../compiler/checker.js';
2
+ import { type Symbol as CompilerSymbol } from '../compiler/symbol.js';
3
+ import type { Expression, Identifier, Node, TypeNode } from './ast.js';
4
+ import { SignatureKind, SymbolFlags, TypeFormatFlags } from './enums.generated.js';
5
+ import type { IndexInfo, InterfaceType, Signature, Symbol, Type, TypeChecker, TypePredicate, TypeReference } from './types.js';
6
+ /** `symbol`, with its id assigned: every symbol the API hands out has one. */
7
+ export declare function publicSymbol(symbol: CompilerSymbol | undefined): Symbol | undefined;
8
+ export declare function publicSymbols(symbols: readonly CompilerSymbol[]): readonly Symbol[];
9
+ export declare class LibraryTypeChecker implements TypeChecker {
10
+ private readonly c;
11
+ constructor(c: Checker);
12
+ dispose(): void;
13
+ getSymbolAtLocation(location: Node): Symbol | undefined;
14
+ getTypeAtLocation(location: Node): Type | undefined;
15
+ getTypeOfSymbol(symbol: Symbol): Type | undefined;
16
+ getDeclaredTypeOfSymbol(symbol: Symbol): Type;
17
+ getTypeOfSymbolAtLocation(symbol: Symbol, location: Node): Type;
18
+ getTypeArguments(reference: TypeReference): readonly Type[];
19
+ /** The target of an alias; throws an InternalCompilerError for any other symbol, as TypeScript 7 does. */
20
+ getAliasedSymbol(symbol: Symbol): Symbol;
21
+ getPropertyOfType(t: Type, name: string): Symbol | undefined;
22
+ getPropertiesOfType(t: Type): readonly Symbol[];
23
+ getSignaturesOfType(t: Type, kind: SignatureKind): readonly Signature[];
24
+ getIndexInfosOfType(t: Type): readonly IndexInfo[];
25
+ getReturnTypeOfSignature(s: Signature): Type | undefined;
26
+ getTypePredicateOfSignature(s: Signature): TypePredicate | undefined;
27
+ getSignatureFromDeclaration(declaration: Node): Signature | undefined;
28
+ getResolvedSignature(call: Node): Signature | undefined;
29
+ getContextualType(expression: Expression): Type | undefined;
30
+ getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined;
31
+ getTypeFromTypeNode(typeNode: TypeNode): Type | undefined;
32
+ getBaseTypeOfLiteralType(t: Type): Type | undefined;
33
+ getNonNullableType(t: Type): Type | undefined;
34
+ getBaseTypes(t: InterfaceType): readonly Type[];
35
+ getConstantValue(location: Node): string | number | undefined;
36
+ isArrayType(t: Type): boolean;
37
+ isTupleType(t: Type): boolean;
38
+ isArrayLikeType(t: Type): boolean;
39
+ isTypeAssignableTo(source: Type, target: Type): boolean;
40
+ resolveName(name: string, meaning: SymbolFlags, location?: Node, excludeGlobals?: boolean): Symbol | undefined;
41
+ /** The value an identifier names where it is: resolveName of its text, as TypeScript 7's API defines it. */
42
+ getResolvedSymbol(identifier: Identifier): Symbol | undefined;
43
+ typeToString(t: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;
44
+ getAnyType(): Type;
45
+ getUnknownType(): Type;
46
+ getNeverType(): Type;
47
+ getStringType(): Type;
48
+ getNumberType(): Type;
49
+ getBigIntType(): Type;
50
+ getBooleanType(): Type;
51
+ }
@@ -0,0 +1,318 @@
1
+ // The TypeChecker of tsc-ts's public API: a checker of the program for queries, independent of the
2
+ // checker that reports the program's diagnostics, as `tsc-ts --api` answers queries. Each method answers
3
+ // as the `tsc-ts --api` request of the same name does.
4
+ import { disposeChecker } from '../compiler/checker.js';
5
+ import { getBaseTypes, getDeclaredTypeOfSymbol } from '../compiler/checker-declared-types.js';
6
+ import { getNonNullableType } from '../compiler/checker-flow.js';
7
+ import { getIndexInfosOfType, getPropertiesOfType, getPropertyOfType, getSignaturesOfType, isArrayLikeType, } from '../compiler/checker-members.js';
8
+ import { getConstantValue, getShorthandAssignmentValueSymbol, getSymbolAtLocation, getTypeAtLocation, getTypeOfSymbolAtLocation, queryContextualType, queryResolvedSignature, querySignatureFromDeclaration, } from '../compiler/checker-services.js';
9
+ import { getReturnTypeOfSignature, getTypePredicateOfSignature } from '../compiler/checker-signatures.js';
10
+ import { getTypeOfSymbol } from '../compiler/checker-symbol-types.js';
11
+ import { resolveAlias, resolveName } from '../compiler/checker-symbols.js';
12
+ import { getBaseTypeOfLiteralType, getTypeArguments, isArrayType, isTupleType, } from '../compiler/checker-type-factory.js';
13
+ import { getTypeFromTypeNode } from '../compiler/checker-type-nodes.js';
14
+ import { typeToStringFromTypeNode } from '../compiler/node-builder.js';
15
+ import { isTypeAssignableTo } from '../compiler/relations.js';
16
+ import { getSymbolId, } from '../compiler/symbol.js';
17
+ import { typeToString } from '../compiler/type-printer.js';
18
+ import { SignatureKind, SymbolFlags, TypeFormatFlags } from './enums.generated.js';
19
+ import { internalError } from './errors.js';
20
+ // The API's objects are tsc-ts's own: these name the conversions between the public and compiler types.
21
+ const node = (n) => n;
22
+ const nodeOrUndefined = (n) => n;
23
+ const type = (t) => t;
24
+ const signature = (s) => s;
25
+ const compilerSymbol = (s) => s;
26
+ const publicType = (t) => t;
27
+ const publicTypes = (types) => types.slice();
28
+ const publicSignature = (s) => s;
29
+ /** `symbol`, with its id assigned: every symbol the API hands out has one. */
30
+ export function publicSymbol(symbol) {
31
+ if (symbol === undefined)
32
+ return undefined;
33
+ getSymbolId(symbol);
34
+ return symbol;
35
+ }
36
+ export function publicSymbols(symbols) {
37
+ const result = [];
38
+ for (const symbol of symbols)
39
+ result.push(publicSymbol(symbol));
40
+ return result;
41
+ }
42
+ /** The flags of typeToString without flags, as TypeScript 7's API uses them. */
43
+ const defaultTypeFormatFlags = TypeFormatFlags.AllowUniqueESSymbolType | TypeFormatFlags.UseAliasDefinedOutsideCurrentScope;
44
+ export class LibraryTypeChecker {
45
+ c;
46
+ constructor(c) {
47
+ this.c = c;
48
+ }
49
+ dispose() {
50
+ disposeChecker(this.c);
51
+ }
52
+ getSymbolAtLocation(location) {
53
+ try {
54
+ return publicSymbol(getSymbolAtLocation(this.c, node(location)));
55
+ }
56
+ catch (e) {
57
+ throw internalError(e);
58
+ }
59
+ }
60
+ getTypeAtLocation(location) {
61
+ try {
62
+ return publicType(getTypeAtLocation(this.c, node(location)));
63
+ }
64
+ catch (e) {
65
+ throw internalError(e);
66
+ }
67
+ }
68
+ getTypeOfSymbol(symbol) {
69
+ try {
70
+ return publicType(getTypeOfSymbol(this.c, compilerSymbol(symbol)));
71
+ }
72
+ catch (e) {
73
+ throw internalError(e);
74
+ }
75
+ }
76
+ getDeclaredTypeOfSymbol(symbol) {
77
+ try {
78
+ return publicType(getDeclaredTypeOfSymbol(this.c, compilerSymbol(symbol)));
79
+ }
80
+ catch (e) {
81
+ throw internalError(e);
82
+ }
83
+ }
84
+ getTypeOfSymbolAtLocation(symbol, location) {
85
+ try {
86
+ return publicType(getTypeOfSymbolAtLocation(this.c, compilerSymbol(symbol), node(location)));
87
+ }
88
+ catch (e) {
89
+ throw internalError(e);
90
+ }
91
+ }
92
+ getTypeArguments(reference) {
93
+ try {
94
+ return publicTypes(getTypeArguments(this.c, type(reference)));
95
+ }
96
+ catch (e) {
97
+ throw internalError(e);
98
+ }
99
+ }
100
+ /** The target of an alias; throws an InternalCompilerError for any other symbol, as TypeScript 7 does. */
101
+ getAliasedSymbol(symbol) {
102
+ try {
103
+ if ((symbol.flags & SymbolFlags.Alias) === 0)
104
+ throw new Error('Should only get alias here');
105
+ return publicSymbol(resolveAlias(this.c, compilerSymbol(symbol)));
106
+ }
107
+ catch (e) {
108
+ throw internalError(e);
109
+ }
110
+ }
111
+ getPropertyOfType(t, name) {
112
+ try {
113
+ return publicSymbol(getPropertyOfType(this.c, type(t), name));
114
+ }
115
+ catch (e) {
116
+ throw internalError(e);
117
+ }
118
+ }
119
+ getPropertiesOfType(t) {
120
+ try {
121
+ return publicSymbols(getPropertiesOfType(this.c, type(t)));
122
+ }
123
+ catch (e) {
124
+ throw internalError(e);
125
+ }
126
+ }
127
+ getSignaturesOfType(t, kind) {
128
+ try {
129
+ const signatures = getSignaturesOfType(this.c, type(t), kind === SignatureKind.Call ? 0 /* CompilerSignatureKind.Call */ : 1 /* CompilerSignatureKind.Construct */);
130
+ return signatures.slice();
131
+ }
132
+ catch (e) {
133
+ throw internalError(e);
134
+ }
135
+ }
136
+ getIndexInfosOfType(t) {
137
+ try {
138
+ return getIndexInfosOfType(this.c, type(t)).slice();
139
+ }
140
+ catch (e) {
141
+ throw internalError(e);
142
+ }
143
+ }
144
+ getReturnTypeOfSignature(s) {
145
+ try {
146
+ return publicType(getReturnTypeOfSignature(this.c, signature(s)));
147
+ }
148
+ catch (e) {
149
+ throw internalError(e);
150
+ }
151
+ }
152
+ getTypePredicateOfSignature(s) {
153
+ try {
154
+ const predicate = getTypePredicateOfSignature(this.c, signature(s));
155
+ if (predicate === undefined)
156
+ return undefined;
157
+ return {
158
+ kind: predicate.kind,
159
+ parameterIndex: predicate.parameterIndex,
160
+ parameterName: predicate.parameterName === '' ? undefined : predicate.parameterName,
161
+ type: publicType(predicate.type),
162
+ };
163
+ }
164
+ catch (e) {
165
+ throw internalError(e);
166
+ }
167
+ }
168
+ getSignatureFromDeclaration(declaration) {
169
+ try {
170
+ return publicSignature(querySignatureFromDeclaration(this.c, node(declaration)));
171
+ }
172
+ catch (e) {
173
+ throw internalError(e);
174
+ }
175
+ }
176
+ getResolvedSignature(call) {
177
+ try {
178
+ return publicSignature(queryResolvedSignature(this.c, node(call)));
179
+ }
180
+ catch (e) {
181
+ throw internalError(e);
182
+ }
183
+ }
184
+ getContextualType(expression) {
185
+ try {
186
+ return publicType(queryContextualType(this.c, node(expression)));
187
+ }
188
+ catch (e) {
189
+ throw internalError(e);
190
+ }
191
+ }
192
+ getShorthandAssignmentValueSymbol(location) {
193
+ try {
194
+ return publicSymbol(getShorthandAssignmentValueSymbol(this.c, node(location)));
195
+ }
196
+ catch (e) {
197
+ throw internalError(e);
198
+ }
199
+ }
200
+ getTypeFromTypeNode(typeNode) {
201
+ try {
202
+ return publicType(getTypeFromTypeNode(this.c, node(typeNode)));
203
+ }
204
+ catch (e) {
205
+ throw internalError(e);
206
+ }
207
+ }
208
+ getBaseTypeOfLiteralType(t) {
209
+ try {
210
+ return publicType(getBaseTypeOfLiteralType(this.c, type(t)));
211
+ }
212
+ catch (e) {
213
+ throw internalError(e);
214
+ }
215
+ }
216
+ getNonNullableType(t) {
217
+ try {
218
+ return publicType(getNonNullableType(this.c, type(t)));
219
+ }
220
+ catch (e) {
221
+ throw internalError(e);
222
+ }
223
+ }
224
+ getBaseTypes(t) {
225
+ try {
226
+ return publicTypes(getBaseTypes(this.c, type(t)));
227
+ }
228
+ catch (e) {
229
+ throw internalError(e);
230
+ }
231
+ }
232
+ getConstantValue(location) {
233
+ try {
234
+ return getConstantValue(this.c, node(location));
235
+ }
236
+ catch (e) {
237
+ throw internalError(e);
238
+ }
239
+ }
240
+ isArrayType(t) {
241
+ try {
242
+ return isArrayType(this.c, type(t));
243
+ }
244
+ catch (e) {
245
+ throw internalError(e);
246
+ }
247
+ }
248
+ isTupleType(t) {
249
+ try {
250
+ return isTupleType(type(t));
251
+ }
252
+ catch (e) {
253
+ throw internalError(e);
254
+ }
255
+ }
256
+ isArrayLikeType(t) {
257
+ try {
258
+ return isArrayLikeType(this.c, type(t));
259
+ }
260
+ catch (e) {
261
+ throw internalError(e);
262
+ }
263
+ }
264
+ isTypeAssignableTo(source, target) {
265
+ try {
266
+ return isTypeAssignableTo(this.c, type(source), type(target));
267
+ }
268
+ catch (e) {
269
+ throw internalError(e);
270
+ }
271
+ }
272
+ resolveName(name, meaning, location, excludeGlobals = false) {
273
+ try {
274
+ return publicSymbol(resolveName(this.c, nodeOrUndefined(location), name, meaning, undefined, false, excludeGlobals));
275
+ }
276
+ catch (e) {
277
+ throw internalError(e);
278
+ }
279
+ }
280
+ /** The value an identifier names where it is: resolveName of its text, as TypeScript 7's API defines it. */
281
+ getResolvedSymbol(identifier) {
282
+ if (identifier.text === '')
283
+ return undefined;
284
+ return this.resolveName(identifier.text, SymbolFlags.Value | SymbolFlags.ExportValue, identifier);
285
+ }
286
+ typeToString(t, enclosingDeclaration, flags) {
287
+ try {
288
+ const enclosing = nodeOrUndefined(enclosingDeclaration);
289
+ const formatFlags = flags === undefined || flags === 0 ? defaultTypeFormatFlags : flags;
290
+ return (typeToStringFromTypeNode(this.c, type(t), enclosing, formatFlags) ??
291
+ typeToString(this.c, type(t), enclosing, formatFlags));
292
+ }
293
+ catch (e) {
294
+ throw internalError(e);
295
+ }
296
+ }
297
+ getAnyType() {
298
+ return this.c.anyType;
299
+ }
300
+ getUnknownType() {
301
+ return this.c.unknownType;
302
+ }
303
+ getNeverType() {
304
+ return this.c.neverType;
305
+ }
306
+ getStringType() {
307
+ return this.c.stringType;
308
+ }
309
+ getNumberType() {
310
+ return this.c.numberType;
311
+ }
312
+ getBigIntType() {
313
+ return this.c.bigintType;
314
+ }
315
+ getBooleanType() {
316
+ return this.c.booleanType;
317
+ }
318
+ }
@@ -0,0 +1,13 @@
1
+ import type { SourceFile } from '../compiler/ast.js';
2
+ import { type Diagnostic as CompilerDiagnostic } from '../compiler/diagnostics.js';
3
+ import type { CheckedProgram } from '../compiler/program-checker.js';
4
+ import type { Diagnostic } from './types.js';
5
+ export type DiagnosticKind = 'config' | 'program' | 'global' | 'syntactic' | 'bind' | 'semantic' | 'suggestion' | 'declaration';
6
+ /** A diagnostic as plain data, with its text in the default locale and its chain and related information. */
7
+ export declare function diagnosticOf(d: CompilerDiagnostic): Diagnostic;
8
+ /**
9
+ * The diagnostics of one kind for `file`, or for every file of the program without one. Global
10
+ * diagnostics are those of no file, after the semantic diagnostics of every file, as tsgo's API returns
11
+ * them. Declaration diagnostics are empty, as tsgo's API returns them.
12
+ */
13
+ export declare function programDiagnostics(checked: CheckedProgram, kind: DiagnosticKind, file: SourceFile | undefined): readonly CompilerDiagnostic[];
@@ -0,0 +1,50 @@
1
+ // The diagnostics of programs, as tsc-ts's public API and `tsc-ts --api` return them.
2
+ import { sortAndDeduplicateDiagnostics } from '../compiler/program.js';
3
+ /** A diagnostic as plain data, with its text in the default locale and its chain and related information. */
4
+ export function diagnosticOf(d) {
5
+ return {
6
+ fileName: d.file?.fileName,
7
+ pos: d.pos,
8
+ end: d.end,
9
+ code: d.code,
10
+ category: d.category,
11
+ text: d.localize(0 /* Locale.Default */),
12
+ reportsUnnecessary: d.reportsUnnecessary,
13
+ reportsDeprecated: d.reportsDeprecated,
14
+ messageChain: d.messageChain.map(diagnosticOf),
15
+ relatedInformation: d.relatedInformation.map(diagnosticOf),
16
+ };
17
+ }
18
+ /**
19
+ * The diagnostics of one kind for `file`, or for every file of the program without one. Global
20
+ * diagnostics are those of no file, after the semantic diagnostics of every file, as tsgo's API returns
21
+ * them. Declaration diagnostics are empty, as tsgo's API returns them.
22
+ */
23
+ export function programDiagnostics(checked, kind, file) {
24
+ const program = checked.program;
25
+ switch (kind) {
26
+ case 'config':
27
+ return program.getConfigFileParsingDiagnostics();
28
+ case 'program':
29
+ return program.getProgramDiagnostics();
30
+ case 'global': {
31
+ checked.getSemanticDiagnostics(undefined);
32
+ const all = [
33
+ ...program.getConfigFileParsingDiagnostics(),
34
+ ...program.getProgramDiagnostics(),
35
+ ...checked.getGlobalDiagnostics(),
36
+ ];
37
+ return sortAndDeduplicateDiagnostics(all).filter((d) => d.file === undefined);
38
+ }
39
+ case 'syntactic':
40
+ return program.getSyntacticDiagnostics(file);
41
+ case 'bind':
42
+ return checked.getBindDiagnostics(file);
43
+ case 'semantic':
44
+ return checked.getSemanticDiagnostics(file);
45
+ case 'suggestion':
46
+ return checked.getSuggestionDiagnostics(file);
47
+ case 'declaration':
48
+ return [];
49
+ }
50
+ }
@@ -0,0 +1,13 @@
1
+ export interface DirectoryEntries {
2
+ files: string[];
3
+ directories: string[];
4
+ }
5
+ export interface FileStat {
6
+ isDirectory: boolean;
7
+ size: number;
8
+ mtimeMs: number;
9
+ }
10
+ export declare function diskReadFile(path: string): string | undefined;
11
+ export declare function diskStat(path: string): FileStat | undefined;
12
+ export declare function diskEntries(path: string): DirectoryEntries;
13
+ export declare function diskRealpath(path: string): string;
@@ -0,0 +1,66 @@
1
+ // The disk, as tsc-ts's public API and `tsc-ts --api` read it where a host doesn't answer.
2
+ import { readdirSync, readFileSync, realpathSync, statSync } from 'node:fs';
3
+ // Reads a text file, decoding UTF-16 byte order marks and dropping a UTF-8 one.
4
+ export function diskReadFile(path) {
5
+ let bytes;
6
+ try {
7
+ bytes = readFileSync(path);
8
+ }
9
+ catch {
10
+ return undefined;
11
+ }
12
+ if (bytes.length >= 2 && bytes[0] === 0xff && bytes[1] === 0xfe)
13
+ return new TextDecoder('utf-16le').decode(bytes.subarray(2));
14
+ if (bytes.length >= 2 && bytes[0] === 0xfe && bytes[1] === 0xff)
15
+ return utf16be(bytes.subarray(2));
16
+ if (bytes.length >= 3 && bytes[0] === 0xef && bytes[1] === 0xbb && bytes[2] === 0xbf)
17
+ bytes = bytes.subarray(3);
18
+ return new TextDecoder().decode(bytes);
19
+ }
20
+ function utf16be(bytes) {
21
+ const swapped = new Uint8Array(bytes.length & ~1);
22
+ for (let i = 0; i + 1 < bytes.length; i += 2) {
23
+ swapped[i] = bytes[i + 1];
24
+ swapped[i + 1] = bytes[i];
25
+ }
26
+ return new TextDecoder('utf-16le').decode(swapped);
27
+ }
28
+ export function diskStat(path) {
29
+ try {
30
+ const s = statSync(path);
31
+ return { isDirectory: s.isDirectory(), size: s.size, mtimeMs: s.mtimeMs };
32
+ }
33
+ catch {
34
+ return undefined;
35
+ }
36
+ }
37
+ // Lists a directory, following symbolic links and skipping broken ones.
38
+ export function diskEntries(path) {
39
+ const files = [];
40
+ const directories = [];
41
+ let names;
42
+ try {
43
+ names = readdirSync(path);
44
+ }
45
+ catch {
46
+ return { files, directories };
47
+ }
48
+ for (const name of names.sort()) {
49
+ const stat = diskStat(path + '/' + name);
50
+ if (stat === undefined)
51
+ continue;
52
+ if (stat.isDirectory)
53
+ directories.push(name);
54
+ else
55
+ files.push(name);
56
+ }
57
+ return { files, directories };
58
+ }
59
+ export function diskRealpath(path) {
60
+ try {
61
+ return realpathSync(path);
62
+ }
63
+ catch {
64
+ return path;
65
+ }
66
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A failure inside tsc-ts while it answered an API call: an exception the compiler threw, as tsgo panics.
3
+ * `cause` is the exception. The program's checker may be inconsistent after one; dispose of the program.
4
+ */
5
+ export declare class InternalCompilerError extends Error {
6
+ constructor(cause: unknown);
7
+ }
8
+ /** A call on a program, or on its checker, after `dispose()`. */
9
+ export declare class DisposedProgramError extends Error {
10
+ constructor();
11
+ }
12
+ /** `e` as an InternalCompilerError; errors of using a disposed program are rethrown as they are. */
13
+ export declare function internalError(e: unknown): Error;
@@ -0,0 +1,24 @@
1
+ // Errors of tsc-ts's public API.
2
+ /**
3
+ * A failure inside tsc-ts while it answered an API call: an exception the compiler threw, as tsgo panics.
4
+ * `cause` is the exception. The program's checker may be inconsistent after one; dispose of the program.
5
+ */
6
+ export class InternalCompilerError extends Error {
7
+ constructor(cause) {
8
+ super('panic: ' + (cause instanceof Error ? cause.message : String(cause)), { cause });
9
+ this.name = 'InternalCompilerError';
10
+ }
11
+ }
12
+ /** A call on a program, or on its checker, after `dispose()`. */
13
+ export class DisposedProgramError extends Error {
14
+ constructor() {
15
+ super('the program is disposed');
16
+ this.name = 'DisposedProgramError';
17
+ }
18
+ }
19
+ /** `e` as an InternalCompilerError; errors of using a disposed program are rethrown as they are. */
20
+ export function internalError(e) {
21
+ if (e instanceof InternalCompilerError || e instanceof DisposedProgramError)
22
+ return e;
23
+ return new InternalCompilerError(e);
24
+ }
@@ -0,0 +1,24 @@
1
+ import { type ExternalModuleIndicatorOptions, type SourceFile } from '../compiler/ast.js';
2
+ import { CompilerHost } from '../compiler/file-loader.js';
3
+ import { DirectoryEntries, FileSystem } from '../compiler/file-system.js';
4
+ import type { ProgramHost } from './types.js';
5
+ /**
6
+ * The host's answers, and the disk's where a callback is missing or answers undefined, as `tsc-ts --api`
7
+ * reads through its client's callbacks. `readFile` answering null means the file doesn't exist.
8
+ */
9
+ export declare class HostFileSystem extends FileSystem {
10
+ private readonly host;
11
+ constructor(host: ProgramHost);
12
+ fileExists(path: string): boolean;
13
+ directoryExists(path: string): boolean;
14
+ readFile(path: string): string | undefined;
15
+ getAccessibleEntries(path: string): DirectoryEntries;
16
+ realpath(path: string): string;
17
+ }
18
+ /**
19
+ * The compiler host of a program of tsc-ts's public API. A file that parse threads prepared, reading the disk, is
20
+ * taken only when the host gives the same text for it; the program parses the host's text otherwise.
21
+ */
22
+ export declare class LibraryCompilerHost extends CompilerHost {
23
+ getSourceFile(fileName: string, path: string, externalModuleIndicatorOptions: ExternalModuleIndicatorOptions): SourceFile | undefined;
24
+ }
@@ -0,0 +1,52 @@
1
+ // The file system a program of tsc-ts's public API reads through its host.
2
+ import { diskEntries, diskReadFile, diskRealpath, diskStat } from './disk.js';
3
+ import { ParseOptions } from '../compiler/ast.js';
4
+ import { CompilerHost } from '../compiler/file-loader.js';
5
+ import { DirectoryEntries, FileSystem } from '../compiler/file-system.js';
6
+ import { takePreparedFile } from '../compiler/parallel-parse.js';
7
+ import { parseSourceFile } from '../compiler/parser.js';
8
+ /**
9
+ * The host's answers, and the disk's where a callback is missing or answers undefined, as `tsc-ts --api`
10
+ * reads through its client's callbacks. `readFile` answering null means the file doesn't exist.
11
+ */
12
+ export class HostFileSystem extends FileSystem {
13
+ host;
14
+ constructor(host) {
15
+ super(host.useCaseSensitiveFileNames());
16
+ this.host = host;
17
+ }
18
+ fileExists(path) {
19
+ const answer = this.host.fileExists?.(path);
20
+ return answer ?? diskStat(path)?.isDirectory === false;
21
+ }
22
+ directoryExists(path) {
23
+ const answer = this.host.directoryExists?.(path);
24
+ return answer ?? diskStat(path)?.isDirectory === true;
25
+ }
26
+ readFile(path) {
27
+ const answer = this.host.readFile?.(path);
28
+ if (answer === null)
29
+ return undefined;
30
+ return answer ?? diskReadFile(path);
31
+ }
32
+ getAccessibleEntries(path) {
33
+ const entries = this.host.getAccessibleEntries?.(path) ?? diskEntries(path);
34
+ return new DirectoryEntries(entries.files.slice(), entries.directories.slice(), undefined);
35
+ }
36
+ realpath(path) {
37
+ return this.host.realpath?.(path) ?? diskRealpath(path);
38
+ }
39
+ }
40
+ /**
41
+ * The compiler host of a program of tsc-ts's public API. A file that parse threads prepared, reading the disk, is
42
+ * taken only when the host gives the same text for it; the program parses the host's text otherwise.
43
+ */
44
+ export class LibraryCompilerHost extends CompilerHost {
45
+ getSourceFile(fileName, path, externalModuleIndicatorOptions) {
46
+ const text = this.readFile(fileName);
47
+ if (text === undefined)
48
+ return undefined;
49
+ return (takePreparedFile(fileName, path, externalModuleIndicatorOptions, text) ??
50
+ parseSourceFile(fileName, text, new ParseOptions(path, 0 /* ScriptKind.Unknown */, externalModuleIndicatorOptions)));
51
+ }
52
+ }
@@ -2,7 +2,11 @@ export * from './ast.js';
2
2
  export * from './enums.generated.js';
3
3
  export type { CompilerOptions } from './compiler-options.generated.js';
4
4
  export { symbolName } from './symbols.js';
5
- export type { __String, BigIntLiteralType, BooleanLiteralType, ConditionalType, CreateProgramOptions, Diagnostic, FileSystemEntries, FreshableType, IndexedAccessType, IndexInfo, IndexType, InterfaceType, IntersectionType, IntrinsicType, LiteralType, NumberLiteralType, ObjectType, ParsedConfigFile, Program, ProgramHost, Signature, SourceFileMetadata, StringLiteralType, StringMappingType, SubstitutionType, Symbol, TemplateLiteralType, TupleType, Type, TypeChecker, TypeParameter, TypePredicate, TypeReference, UnionOrIntersectionType, UnionType, } from './types.js';
5
+ export { createProgram, createProgramFromConfigFile, getPreEmitDiagnostics, parseConfigFile } from './program.js';
6
+ export { DisposedProgramError, InternalCompilerError } from './errors.js';
7
+ export { parseSourceFile, type ParseSourceFileOptions } from './parse.js';
8
+ export { canHaveModifiers, flattenDiagnosticMessageText, forEachChild, getCombinedModifierFlags, getCombinedNodeFlags, getJSDoc, getLineAndCharacterOfPosition, getLineStarts, getModifiers, getPositionOfLineAndCharacter, getSourceFileOfNode, getTextOfNode, tokenStartOfNode, tokenToString, walkPreorder, } from './nodes.js';
9
+ export type { __String, BigIntLiteralType, BooleanLiteralType, ConditionalType, CreateProgramOptions, Diagnostic, FileSystemEntries, FreshableType, IndexedAccessType, IndexInfo, IndexType, InterfaceType, IntersectionType, IntrinsicType, LiteralType, NumberLiteralType, ObjectType, ParsedConfigFile, Program, ProgramHost, Signature, SourceFileMetadata, StringLiteralType, StringMappingType, SubstitutionType, Symbol, TemplateLiteralType, TupleType, TupleTypeReference, Type, TypeChecker, TypeParameter, TypePredicate, TypeReference, UnionOrIntersectionType, UnionType, } from './types.js';
6
10
  /** The kind of an index signature's key, as TypeScript 5 numbers it. */
7
11
  export declare enum IndexKind {
8
12
  String = 0,
@@ -3,6 +3,10 @@
3
3
  export * from './ast.js';
4
4
  export * from './enums.generated.js';
5
5
  export { symbolName } from './symbols.js';
6
+ export { createProgram, createProgramFromConfigFile, getPreEmitDiagnostics, parseConfigFile } from './program.js';
7
+ export { DisposedProgramError, InternalCompilerError } from './errors.js';
8
+ export { parseSourceFile } from './parse.js';
9
+ export { canHaveModifiers, flattenDiagnosticMessageText, forEachChild, getCombinedModifierFlags, getCombinedNodeFlags, getJSDoc, getLineAndCharacterOfPosition, getLineStarts, getModifiers, getPositionOfLineAndCharacter, getSourceFileOfNode, getTextOfNode, tokenStartOfNode, tokenToString, walkPreorder, } from './nodes.js';
6
10
  /** The kind of an index signature's key, as TypeScript 5 numbers it. */
7
11
  export var IndexKind;
8
12
  (function (IndexKind) {