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,240 @@
1
+ import type { ProgramLifetime } from '@scriptc/types';
2
+ import type { Node } from './ast.js';
3
+ import type { __String, Symbol as PublicSymbol } from '../library/types.js';
4
+ export declare const enum SymbolFlags {
5
+ None = 0,
6
+ /** A `var` or parameter. */
7
+ FunctionScopedVariable = 1,
8
+ /** A `let` or `const`. */
9
+ BlockScopedVariable = 2,
10
+ /** A property or enum member. */
11
+ Property = 4,
12
+ EnumMember = 8,
13
+ Function = 16,
14
+ Class = 32,
15
+ Interface = 64,
16
+ ConstEnum = 128,
17
+ RegularEnum = 256,
18
+ /** An instantiated namespace. */
19
+ ValueModule = 512,
20
+ /** A namespace with only types. */
21
+ NamespaceModule = 1024,
22
+ /** A type literal or mapped type. */
23
+ TypeLiteral = 2048,
24
+ ObjectLiteral = 4096,
25
+ Method = 8192,
26
+ Constructor = 16384,
27
+ GetAccessor = 32768,
28
+ SetAccessor = 65536,
29
+ /** A call, construct or index signature. */
30
+ Signature = 131072,
31
+ TypeParameter = 262144,
32
+ TypeAlias = 524288,
33
+ /** The local half of an exported value; see `Binder.declareModuleMember`. */
34
+ ExportValue = 1048576,
35
+ /** An alias for another symbol, e.g. an import. */
36
+ Alias = 2097152,
37
+ /** A class's `prototype` property. */
38
+ Prototype = 4194304,
39
+ /** `export *` declarations. */
40
+ ExportStar = 8388608,
41
+ Optional = 16777216,
42
+ /** Created by the checker. */
43
+ Transient = 33554432,
44
+ /** A JavaScript assignment that declares a property, e.g. `fn.prop = 1`. */
45
+ Assignment = 67108864,
46
+ /** CommonJS `module` or `module.exports`. */
47
+ ModuleExports = 134217728,
48
+ /** A namespace whose only values are const enums. */
49
+ ConstEnumOnlyModule = 268435456,
50
+ /** A JavaScript `this.x` property that a method of the same name replaces. */
51
+ ReplaceableByMethod = 536870912,
52
+ /** Marks a lookup in the global scope. */
53
+ GlobalLookup = 1073741824,
54
+ All = 1073741823,
55
+ Enum = 384,
56
+ Variable = 3,
57
+ Value = 111551,
58
+ Type = 788968,
59
+ Namespace = 1920,
60
+ Module = 1536,
61
+ Accessor = 98304,
62
+ FunctionScopedVariableExcludes = 111550,
63
+ BlockScopedVariableExcludes = 111551,
64
+ ParameterExcludes = 111551,
65
+ PropertyExcludes = 13243,
66
+ EnumMemberExcludes = 900095,
67
+ FunctionExcludes = 110991,
68
+ /** Class-interface merging is checked by the checker. */
69
+ ClassExcludes = 899503,
70
+ InterfaceExcludes = 788872,
71
+ RegularEnumExcludes = 899327,
72
+ ConstEnumExcludes = 899967,
73
+ ValueModuleExcludes = 110735,
74
+ NamespaceModuleExcludes = 0,
75
+ MethodExcludes = 103359,
76
+ GetAccessorExcludes = 46011,
77
+ SetAccessorExcludes = 78779,
78
+ AccessorExcludes = 111547,
79
+ TypeParameterExcludes = 526824,
80
+ TypeAliasExcludes = 788968,
81
+ AliasExcludes = 2097152,
82
+ ModuleMember = 2623475,
83
+ ExportHasLocal = 944,
84
+ BlockScoped = 418,
85
+ PropertyOrAccessor = 98308,
86
+ ClassMember = 106500,
87
+ ExportSupportsDefaultModifier = 112,
88
+ ExportDoesNotSupportDefaultModifier = -113,
89
+ /** What the language service classifies semantically. */
90
+ Classifiable = 2885600,
91
+ LateBindingContainer = 6256
92
+ }
93
+ /** Flags of transient symbols created by the checker. */
94
+ export declare const enum CheckFlags {
95
+ None = 0,
96
+ Instantiated = 1,
97
+ /** A property of a union or intersection type. */
98
+ SyntheticProperty = 2,
99
+ SyntheticMethod = 4,
100
+ Readonly = 8,
101
+ /** In some but not all constituents. */
102
+ ReadPartial = 16,
103
+ /** In some constituents, and only an index signature in others. */
104
+ WritePartial = 32,
105
+ HasNonUniformType = 64,
106
+ HasLiteralType = 128,
107
+ ContainsPublic = 256,
108
+ ContainsProtected = 512,
109
+ ContainsPrivate = 1024,
110
+ ContainsStatic = 2048,
111
+ /** Late-bound from a computed property name. */
112
+ Late = 4096,
113
+ ReverseMapped = 8192,
114
+ OptionalParameter = 16384,
115
+ RestParameter = 32768,
116
+ /** The type is computed on demand. */
117
+ DeferredType = 65536,
118
+ HasNeverType = 131072,
119
+ Mapped = 262144,
120
+ StripOptional = 524288,
121
+ Unresolved = 1048576,
122
+ IsDiscriminantComputed = 2097152,
123
+ IsDiscriminant = 4194304,
124
+ /** Created from an index signature. */
125
+ IndexSymbol = 8388608,
126
+ Synthetic = 6,
127
+ NonUniformAndLiteral = 192,
128
+ Partial = 48
129
+ }
130
+ /** Fields of Symbol that few symbols set (about one in twenty), allocated on first write. */
131
+ export declare class SymbolRareFields implements ProgramLifetime {
132
+ members: SymbolTable | undefined;
133
+ exports: SymbolTable | undefined;
134
+ exportSymbol: Symbol | undefined;
135
+ }
136
+ export declare class Symbol implements ProgramLifetime {
137
+ flags: SymbolFlags;
138
+ checkFlags: CheckFlags;
139
+ readonly name: string;
140
+ declarations: Node[];
141
+ valueDeclaration: Node | undefined;
142
+ parent: Symbol | undefined;
143
+ private rareFields;
144
+ /** Assigned on first use by `getSymbolId`, or at creation while threads share the program; 0 until then. */
145
+ id: number;
146
+ constructor(flags: SymbolFlags, name: string);
147
+ private rareFieldsOrNew;
148
+ get members(): SymbolTable | undefined;
149
+ set members(value: SymbolTable | undefined);
150
+ get exports(): SymbolTable | undefined;
151
+ set exports(value: SymbolTable | undefined);
152
+ /** For the local symbol of an exported declaration, the exported symbol. */
153
+ get exportSymbol(): Symbol | undefined;
154
+ set exportSymbol(value: Symbol | undefined);
155
+ /** The name in its escaped form, the key of member and export tables (`escapeSymbolName`). */
156
+ get escapedName(): string;
157
+ getParent(): Symbol | undefined;
158
+ /** The export symbol, or the symbol itself if it has none. */
159
+ getExportSymbol(): Symbol;
160
+ /** The members, by escaped name. */
161
+ getMembers(): Map<__String, PublicSymbol>;
162
+ /** The exports, by escaped name. */
163
+ getExports(): Map<__String, PublicSymbol>;
164
+ /** Whether this is the symbol of an external module, named by its quoted path. */
165
+ isExternalModule(): boolean;
166
+ /** The flags of this symbol and its export symbol. */
167
+ combinedLocalAndExportSymbolFlags(): SymbolFlags;
168
+ }
169
+ export type SymbolTable = Map<string, Symbol>;
170
+ /** Symbols get their ids when they are created from now on (see `idsAtCreation`). */
171
+ export declare function assignSymbolIdsAtCreation(): void;
172
+ /** Whether symbols get their ids when they are created (`assignSymbolIdsAtCreation`). */
173
+ export declare function symbolIdsAtCreation(): boolean;
174
+ /**
175
+ * Takes symbol ids in chunks from `counter[0]`, shared by the threads that bind together; with
176
+ * `undefined`, goes back to a plain counter above every id handed out.
177
+ */
178
+ export declare function shareSymbolIds(counter: Int32Array | undefined): void;
179
+ /** The last symbol id handed out on this thread. */
180
+ export declare function lastSymbolIdValue(): number;
181
+ /** Continues symbol ids above `last` (a checker thread starts above the program it checks). */
182
+ export declare function reserveSymbolIds(last: number): void;
183
+ /** Appends `node` to the declarations of `symbol`. */
184
+ export declare function addDeclaration(symbol: Symbol, node: Node): void;
185
+ /** A program-wide id, assigned to each symbol when first requested. */
186
+ export declare function getSymbolId(symbol: Symbol): number;
187
+ /** The exports table of `symbol`, created if missing. */
188
+ export declare function getExports(symbol: Symbol): SymbolTable;
189
+ /** The members table of `symbol`, created if missing. */
190
+ export declare function getMembers(symbol: Symbol): SymbolTable;
191
+ /**
192
+ * Starts internal symbol names. A noncharacter, so it never starts an identifier and is
193
+ * vanishingly unlikely in a string-literal property name.
194
+ */
195
+ export declare const internalSymbolNamePrefix = "\uFFFE";
196
+ export declare const enum InternalSymbolName {
197
+ /** Call signatures. */
198
+ Call = "\uFFFEcall",
199
+ /** Constructor implementations. */
200
+ Constructor = "\uFFFEconstructor",
201
+ /** Construct signatures. */
202
+ New = "\uFFFEnew",
203
+ /** Index signatures. */
204
+ Index = "\uFFFEindex",
205
+ /** `export *` declarations. */
206
+ ExportStar = "\uFFFEexport",
207
+ /** The global scope's self-reference. */
208
+ Global = "\uFFFEglobal",
209
+ /** A missing name. */
210
+ Missing = "\uFFFEmissing",
211
+ /** An anonymous type literal. */
212
+ Type = "\uFFFEtype",
213
+ /** An anonymous object literal. */
214
+ Object = "\uFFFEobject",
215
+ /** An anonymous JSX attributes object literal. */
216
+ JSXAttributes = "\uFFFEjsxAttributes",
217
+ /** An unnamed class expression. */
218
+ Class = "\uFFFEclass",
219
+ /** An unnamed function expression. */
220
+ Function = "\uFFFEfunction",
221
+ /** A computed property name that isn't a literal. */
222
+ Computed = "\uFFFEcomputed",
223
+ /** Late-bound JavaScript assignment declarations. */
224
+ AssignmentDeclaration = "\uFFFEassignment",
225
+ InstantiationExpression = "\uFFFEinstantiationExpression",
226
+ ImportAttributes = "\uFFFEimportAttributes",
227
+ ExportEquals = "export=",
228
+ Default = "default",
229
+ This = "this",
230
+ ModuleExports = "module.exports"
231
+ }
232
+ /** `name` with a leading internal prefix replaced by `__`. */
233
+ export declare function escapeInternalSymbolName(name: string): string;
234
+ /** `name` with every internal prefix replaced by `__`. */
235
+ export declare function escapeAllInternalSymbolNames(name: string): string;
236
+ /**
237
+ * The escaped `__String` form of a symbol name: internal names get `__`, and names that
238
+ * already start with `__` get one more `_`.
239
+ */
240
+ export declare function escapeSymbolName(name: string): string;
@@ -0,0 +1,228 @@
1
+ /** Fields of Symbol that few symbols set (about one in twenty), allocated on first write. */
2
+ export class SymbolRareFields {
3
+ members = undefined;
4
+ exports = undefined;
5
+ exportSymbol = undefined;
6
+ }
7
+ export class Symbol {
8
+ flags;
9
+ checkFlags;
10
+ name;
11
+ declarations;
12
+ valueDeclaration;
13
+ parent;
14
+ rareFields;
15
+ /** Assigned on first use by `getSymbolId`, or at creation while threads share the program; 0 until then. */
16
+ id;
17
+ constructor(flags, name) {
18
+ this.flags = flags;
19
+ this.checkFlags = 0 /* CheckFlags.None */;
20
+ this.name = name;
21
+ this.declarations = noDeclarations;
22
+ this.valueDeclaration = undefined;
23
+ this.parent = undefined;
24
+ this.rareFields = undefined;
25
+ this.id = idsAtCreation ? takeSymbolId() : 0;
26
+ }
27
+ rareFieldsOrNew() {
28
+ let group = this.rareFields;
29
+ if (group === undefined) {
30
+ group = new SymbolRareFields();
31
+ this.rareFields = group;
32
+ }
33
+ return group;
34
+ }
35
+ get members() {
36
+ const group = this.rareFields;
37
+ return group === undefined ? undefined : group.members;
38
+ }
39
+ set members(value) {
40
+ if (value === undefined && this.rareFields === undefined)
41
+ return;
42
+ this.rareFieldsOrNew().members = value;
43
+ }
44
+ get exports() {
45
+ const group = this.rareFields;
46
+ return group === undefined ? undefined : group.exports;
47
+ }
48
+ set exports(value) {
49
+ if (value === undefined && this.rareFields === undefined)
50
+ return;
51
+ this.rareFieldsOrNew().exports = value;
52
+ }
53
+ /** For the local symbol of an exported declaration, the exported symbol. */
54
+ get exportSymbol() {
55
+ const group = this.rareFields;
56
+ return group === undefined ? undefined : group.exportSymbol;
57
+ }
58
+ set exportSymbol(value) {
59
+ if (value === undefined && this.rareFields === undefined)
60
+ return;
61
+ this.rareFieldsOrNew().exportSymbol = value;
62
+ }
63
+ // TypeScript 7's API (tsc-ts/api). The symbols it hands out have their ids assigned.
64
+ /** The name in its escaped form, the key of member and export tables (`escapeSymbolName`). */
65
+ get escapedName() {
66
+ return escapeSymbolName(this.name);
67
+ }
68
+ getParent() {
69
+ const parent = this.parent;
70
+ if (parent !== undefined)
71
+ getSymbolId(parent);
72
+ return parent;
73
+ }
74
+ /** The export symbol, or the symbol itself if it has none. */
75
+ getExportSymbol() {
76
+ const exported = this.exportSymbol ?? this;
77
+ getSymbolId(exported);
78
+ return exported;
79
+ }
80
+ /** The members, by escaped name. */
81
+ getMembers() {
82
+ return byEscapedName(this.members);
83
+ }
84
+ /** The exports, by escaped name. */
85
+ getExports() {
86
+ return byEscapedName(this.exports);
87
+ }
88
+ /** Whether this is the symbol of an external module, named by its quoted path. */
89
+ isExternalModule() {
90
+ return (this.flags & 1536 /* SymbolFlags.Module */) !== 0 && this.name.charCodeAt(0) === 0x22;
91
+ }
92
+ /** The flags of this symbol and its export symbol. */
93
+ combinedLocalAndExportSymbolFlags() {
94
+ const exportSymbol = this.exportSymbol;
95
+ return exportSymbol === undefined ? this.flags : this.flags | exportSymbol.flags;
96
+ }
97
+ }
98
+ let nextSymbolId = 0;
99
+ // A program shared between threads (parallel-check.ts) is never written, so its symbols get their ids
100
+ // when they are created rather than on first use.
101
+ let idsAtCreation = false;
102
+ // While several threads bind one program (parallel-parse.ts), each takes symbol ids in chunks from a
103
+ // shared counter; ids up to `symbolIdLimit` belong to this thread.
104
+ let symbolIdLimit = Number.POSITIVE_INFINITY;
105
+ let symbolIdCounter = undefined;
106
+ const symbolIdChunk = 4096;
107
+ /** Symbols get their ids when they are created from now on (see `idsAtCreation`). */
108
+ export function assignSymbolIdsAtCreation() {
109
+ idsAtCreation = true;
110
+ }
111
+ /** Whether symbols get their ids when they are created (`assignSymbolIdsAtCreation`). */
112
+ export function symbolIdsAtCreation() {
113
+ return idsAtCreation;
114
+ }
115
+ function takeSymbolId() {
116
+ // `| 0`: ids stay far below 2^31, and native builds then store `id` as an int32.
117
+ return (nextSymbolId < symbolIdLimit ? ++nextSymbolId : takeSymbolIdChunk()) | 0;
118
+ }
119
+ function takeSymbolIdChunk() {
120
+ const base = Atomics.add(symbolIdCounter, 0, symbolIdChunk);
121
+ nextSymbolId = base + 1;
122
+ symbolIdLimit = base + symbolIdChunk;
123
+ return nextSymbolId;
124
+ }
125
+ /**
126
+ * Takes symbol ids in chunks from `counter[0]`, shared by the threads that bind together; with
127
+ * `undefined`, goes back to a plain counter above every id handed out.
128
+ */
129
+ export function shareSymbolIds(counter) {
130
+ if (counter !== undefined) {
131
+ symbolIdCounter = counter;
132
+ symbolIdLimit = nextSymbolId;
133
+ return;
134
+ }
135
+ if (symbolIdCounter !== undefined) {
136
+ const top = Atomics.load(symbolIdCounter, 0);
137
+ if (top > nextSymbolId)
138
+ nextSymbolId = top;
139
+ }
140
+ symbolIdCounter = undefined;
141
+ symbolIdLimit = Number.POSITIVE_INFINITY;
142
+ }
143
+ /** The last symbol id handed out on this thread. */
144
+ export function lastSymbolIdValue() {
145
+ return nextSymbolId;
146
+ }
147
+ /** Continues symbol ids above `last` (a checker thread starts above the program it checks). */
148
+ export function reserveSymbolIds(last) {
149
+ if (last > nextSymbolId)
150
+ nextSymbolId = last;
151
+ }
152
+ /**
153
+ * The declarations of a symbol without any: shared, so never modified. Add declarations with
154
+ * `addDeclaration`, which gives the symbol its own array on the first one.
155
+ */
156
+ const noDeclarations = [];
157
+ /** Appends `node` to the declarations of `symbol`. */
158
+ export function addDeclaration(symbol, node) {
159
+ const declarations = symbol.declarations;
160
+ if (declarations.length === 0)
161
+ symbol.declarations = [node];
162
+ else
163
+ declarations.push(node);
164
+ }
165
+ /**
166
+ * The symbols of `table` by escaped name, with their ids assigned, as tsc-ts's public API types them: the map's
167
+ * values are typed as the public Symbol, so a native build returns it as the map that interface declares.
168
+ */
169
+ function byEscapedName(table) {
170
+ const result = new Map();
171
+ if (table !== undefined)
172
+ for (const symbol of table.values()) {
173
+ getSymbolId(symbol);
174
+ result.set(escapeSymbolName(symbol.name), symbol);
175
+ }
176
+ return result;
177
+ }
178
+ /** A program-wide id, assigned to each symbol when first requested. */
179
+ export function getSymbolId(symbol) {
180
+ let id = symbol.id;
181
+ if (id === 0) {
182
+ id = takeSymbolId();
183
+ symbol.id = id;
184
+ }
185
+ return id;
186
+ }
187
+ /** The exports table of `symbol`, created if missing. */
188
+ export function getExports(symbol) {
189
+ let exports = symbol.exports;
190
+ if (exports === undefined) {
191
+ exports = new Map();
192
+ symbol.exports = exports;
193
+ }
194
+ return exports;
195
+ }
196
+ /** The members table of `symbol`, created if missing. */
197
+ export function getMembers(symbol) {
198
+ let members = symbol.members;
199
+ if (members === undefined) {
200
+ members = new Map();
201
+ symbol.members = members;
202
+ }
203
+ return members;
204
+ }
205
+ /**
206
+ * Starts internal symbol names. A noncharacter, so it never starts an identifier and is
207
+ * vanishingly unlikely in a string-literal property name.
208
+ */
209
+ export const internalSymbolNamePrefix = '￾';
210
+ /** `name` with a leading internal prefix replaced by `__`. */
211
+ export function escapeInternalSymbolName(name) {
212
+ return name.startsWith(internalSymbolNamePrefix) ? '__' + name.substring(1) : name;
213
+ }
214
+ /** `name` with every internal prefix replaced by `__`. */
215
+ export function escapeAllInternalSymbolNames(name) {
216
+ return name.indexOf(internalSymbolNamePrefix) < 0 ? name : name.replaceAll(internalSymbolNamePrefix, '__');
217
+ }
218
+ /**
219
+ * The escaped `__String` form of a symbol name: internal names get `__`, and names that
220
+ * already start with `__` get one more `_`.
221
+ */
222
+ export function escapeSymbolName(name) {
223
+ if (name.startsWith(internalSymbolNamePrefix))
224
+ return '__' + name.substring(1);
225
+ if (name.startsWith('__'))
226
+ return '_' + name;
227
+ return name;
228
+ }
@@ -0,0 +1,32 @@
1
+ /** The real directory of a symlink, with a trailing `/`: as `realpath` spells it, and as a path. */
2
+ export declare class KnownDirectoryLink {
3
+ readonly real: string;
4
+ readonly realPath: string;
5
+ constructor(real: string, realPath: string);
6
+ }
7
+ export declare class KnownSymlinks {
8
+ readonly currentDirectory: string;
9
+ readonly useCaseSensitiveFileNames: boolean;
10
+ /** Real directories by symlink path; keys have a trailing `/`. */
11
+ private readonly directories;
12
+ /** Symlinks, as spelled, by real directory path; keys have a trailing `/`. */
13
+ private readonly directoriesByRealpath;
14
+ /**
15
+ * The directory symlink each resolution implies (`null` for none), by original path and resolved
16
+ * file name: many files resolve the same module through the same symlink.
17
+ */
18
+ private readonly implied;
19
+ constructor(currentDirectory: string, useCaseSensitiveFileNames: boolean);
20
+ hasDirectory(symlinkPath: string): boolean;
21
+ /** The symlinks to the real directory `realPath`, which has a trailing `/`. */
22
+ getSymlinksOfDirectory(realPath: string): ReadonlySet<string> | undefined;
23
+ setDirectory(symlink: string, symlinkPath: string, real: KnownDirectoryLink): void;
24
+ /** Records the directory symlink a resolution through `originalPath` to `resolvedFileName` implies. */
25
+ processResolution(originalPath: string, resolvedFileName: string): void;
26
+ private impliedDirectoryLink;
27
+ /** The longest directories of `resolved` and `original` whose remaining paths are equal. */
28
+ private guessDirectorySymlink;
29
+ private isNodeModulesOrScopedPackageDirectory;
30
+ }
31
+ /** Paths inside `node_modules/.*` (such as pnpm's store), `.git` or editor lock files. */
32
+ export declare function containsIgnoredPath(path: string): boolean;
@@ -0,0 +1,114 @@
1
+ // Symlinked directories a program found through module resolution, such as packages linked by
2
+ // pnpm or workspaces, so module specifiers can name a file by the path it was imported through.
3
+ import { ensureTrailingDirectorySeparator, getCanonicalFileName, getNormalizedAbsolutePath, getPathComponents, getPathFromPathComponents, toPath, } from './path.js';
4
+ /** The real directory of a symlink, with a trailing `/`: as `realpath` spells it, and as a path. */
5
+ export class KnownDirectoryLink {
6
+ real;
7
+ realPath;
8
+ constructor(real, realPath) {
9
+ this.real = real;
10
+ this.realPath = realPath;
11
+ }
12
+ }
13
+ /** A directory symlink a resolution implies: as spelled, as a path (trailing `/`), and its real directory. */
14
+ class ImpliedDirectoryLink {
15
+ symlink;
16
+ symlinkPath;
17
+ real;
18
+ constructor(symlink, symlinkPath, real) {
19
+ this.symlink = symlink;
20
+ this.symlinkPath = symlinkPath;
21
+ this.real = real;
22
+ }
23
+ }
24
+ export class KnownSymlinks {
25
+ currentDirectory;
26
+ useCaseSensitiveFileNames;
27
+ /** Real directories by symlink path; keys have a trailing `/`. */
28
+ directories = new Map();
29
+ /** Symlinks, as spelled, by real directory path; keys have a trailing `/`. */
30
+ directoriesByRealpath = new Map();
31
+ /**
32
+ * The directory symlink each resolution implies (`null` for none), by original path and resolved
33
+ * file name: many files resolve the same module through the same symlink.
34
+ */
35
+ implied = new Map();
36
+ constructor(currentDirectory, useCaseSensitiveFileNames) {
37
+ this.currentDirectory = currentDirectory;
38
+ this.useCaseSensitiveFileNames = useCaseSensitiveFileNames;
39
+ }
40
+ hasDirectory(symlinkPath) {
41
+ return this.directories.has(ensureTrailingDirectorySeparator(symlinkPath));
42
+ }
43
+ /** The symlinks to the real directory `realPath`, which has a trailing `/`. */
44
+ getSymlinksOfDirectory(realPath) {
45
+ return this.directoriesByRealpath.get(realPath);
46
+ }
47
+ setDirectory(symlink, symlinkPath, real) {
48
+ if (!this.directories.has(symlinkPath)) {
49
+ let symlinks = this.directoriesByRealpath.get(real.realPath);
50
+ if (symlinks === undefined) {
51
+ symlinks = new Set();
52
+ this.directoriesByRealpath.set(real.realPath, symlinks);
53
+ }
54
+ symlinks.add(symlink);
55
+ }
56
+ this.directories.set(symlinkPath, real);
57
+ }
58
+ /** Records the directory symlink a resolution through `originalPath` to `resolvedFileName` implies. */
59
+ processResolution(originalPath, resolvedFileName) {
60
+ if (originalPath === '' || resolvedFileName === '')
61
+ return;
62
+ let byResolved = this.implied.get(originalPath);
63
+ if (byResolved === undefined) {
64
+ byResolved = new Map();
65
+ this.implied.set(originalPath, byResolved);
66
+ }
67
+ let link = byResolved.get(resolvedFileName);
68
+ if (link === undefined) {
69
+ link = this.impliedDirectoryLink(originalPath, resolvedFileName);
70
+ byResolved.set(resolvedFileName, link);
71
+ }
72
+ if (link !== null)
73
+ this.setDirectory(link.symlink, link.symlinkPath, link.real);
74
+ }
75
+ impliedDirectoryLink(originalPath, resolvedFileName) {
76
+ const common = this.guessDirectorySymlink(resolvedFileName, originalPath);
77
+ if (common === undefined)
78
+ return null;
79
+ const symlinkPath = toPath(common.original, this.currentDirectory, this.useCaseSensitiveFileNames);
80
+ if (containsIgnoredPath(symlinkPath))
81
+ return null;
82
+ return new ImpliedDirectoryLink(common.original, ensureTrailingDirectorySeparator(symlinkPath), new KnownDirectoryLink(ensureTrailingDirectorySeparator(common.resolved), ensureTrailingDirectorySeparator(toPath(common.resolved, this.currentDirectory, this.useCaseSensitiveFileNames))));
83
+ }
84
+ /** The longest directories of `resolved` and `original` whose remaining paths are equal. */
85
+ guessDirectorySymlink(resolved, original) {
86
+ const a = getPathComponents(getNormalizedAbsolutePath(resolved, this.currentDirectory));
87
+ const b = getPathComponents(getNormalizedAbsolutePath(original, this.currentDirectory));
88
+ let aLength = a.length;
89
+ let bLength = b.length;
90
+ while (aLength >= 2 &&
91
+ bLength >= 2 &&
92
+ !this.isNodeModulesOrScopedPackageDirectory(a[aLength - 2]) &&
93
+ !this.isNodeModulesOrScopedPackageDirectory(b[bLength - 2]) &&
94
+ getCanonicalFileName(a[aLength - 1], this.useCaseSensitiveFileNames) ===
95
+ getCanonicalFileName(b[bLength - 1], this.useCaseSensitiveFileNames)) {
96
+ aLength--;
97
+ bLength--;
98
+ }
99
+ if (aLength === a.length)
100
+ return undefined;
101
+ return {
102
+ resolved: getPathFromPathComponents(a.slice(0, aLength)),
103
+ original: getPathFromPathComponents(b.slice(0, bLength)),
104
+ };
105
+ }
106
+ isNodeModulesOrScopedPackageDirectory(name) {
107
+ return (name !== '' &&
108
+ (getCanonicalFileName(name, this.useCaseSensitiveFileNames) === 'node_modules' || name.startsWith('@')));
109
+ }
110
+ }
111
+ /** Paths inside `node_modules/.*` (such as pnpm's store), `.git` or editor lock files. */
112
+ export function containsIgnoredPath(path) {
113
+ return path.includes('/node_modules/.') || path.includes('/.git') || path.includes('.#');
114
+ }