tsc-ts 0.0.4 → 0.0.6

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 +34 -2
  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 +2351 -0
  5. package/dist/api/compiler/ast.js +11212 -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 +1241 -0
  10. package/dist/api/compiler/binder.d.ts +33 -0
  11. package/dist/api/compiler/binder.js +2359 -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 +1641 -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 +357 -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 +788 -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 +314 -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 +291 -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 +580 -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 +2587 -0
  54. package/dist/api/compiler/checker-heritage.d.ts +28 -0
  55. package/dist/api/compiler/checker-heritage.js +901 -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 +442 -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 +200 -0
  69. package/dist/api/compiler/checker-members.js +2148 -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 +483 -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 +271 -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 +789 -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 +51 -0
  93. package/dist/api/compiler/checker-symbol-types.js +955 -0
  94. package/dist/api/compiler/checker-symbols.d.ts +181 -0
  95. package/dist/api/compiler/checker-symbols.js +1784 -0
  96. package/dist/api/compiler/checker-type-factory.d.ts +142 -0
  97. package/dist/api/compiler/checker-type-factory.js +2542 -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 +1093 -0
  103. package/dist/api/compiler/checker-types.js +1874 -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 +512 -0
  109. package/dist/api/compiler/checker.js +932 -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 +161 -0
  119. package/dist/api/compiler/diagnostics.js +784 -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 +144 -0
  123. package/dist/api/compiler/file-include.js +599 -0
  124. package/dist/api/compiler/file-loader.d.ts +290 -0
  125. package/dist/api/compiler/file-loader.js +1323 -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 +835 -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 +105 -0
  135. package/dist/api/compiler/link-tables.js +319 -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 +745 -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 +221 -0
  191. package/dist/api/compiler/parallel-parse.js +541 -0
  192. package/dist/api/compiler/parser.d.ts +604 -0
  193. package/dist/api/compiler/parser.js +6426 -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 +157 -0
  203. package/dist/api/compiler/printer/emit-context.js +582 -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 +529 -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 +1019 -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 +991 -0
  244. package/dist/api/compiler/symbol.d.ts +282 -0
  245. package/dist/api/compiler/symbol.js +339 -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 +677 -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 +539 -0
  268. package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
  269. package/dist/api/compiler/transformers/declarations-pseudo.js +799 -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 +198 -0
  276. package/dist/api/compiler/transformers/declarations.d.ts +175 -0
  277. package/dist/api/compiler/transformers/declarations.js +2381 -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 +129 -0
  321. package/dist/api/compiler/transformers/reference-resolver.js +1157 -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 +10 -0
  325. package/dist/api/compiler/transformers/subtree-facts.js +205 -0
  326. package/dist/api/compiler/transformers/syntax-facts.d.ts +52 -0
  327. package/dist/api/compiler/transformers/syntax-facts.js +258 -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 +12870 -0
  382. package/src/compiler/astnav.ts +799 -0
  383. package/src/compiler/binder-utilities.ts +1392 -0
  384. package/src/compiler/binder.ts +2707 -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 +1201 -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 +355 -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 +3596 -0
  407. package/src/compiler/checker-heritage.ts +1240 -0
  408. package/src/compiler/checker-inference.ts +2584 -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 +1928 -0
  413. package/src/compiler/checker-literals.ts +61 -0
  414. package/src/compiler/checker-members.ts +2480 -0
  415. package/src/compiler/checker-modules.ts +2896 -0
  416. package/src/compiler/checker-narrowing.ts +3230 -0
  417. package/src/compiler/checker-object-literals.ts +591 -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 +1187 -0
  427. package/src/compiler/checker-symbols.ts +2157 -0
  428. package/src/compiler/checker-type-factory.ts +2616 -0
  429. package/src/compiler/checker-type-nodes.ts +1033 -0
  430. package/src/compiler/checker-type-operators.ts +2510 -0
  431. package/src/compiler/checker-types.ts +2520 -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 +1138 -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 +858 -0
  441. package/src/compiler/emitter.ts +434 -0
  442. package/src/compiler/encoder.ts +1945 -0
  443. package/src/compiler/file-include.ts +741 -0
  444. package/src/compiler/file-loader.ts +1597 -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 +2818 -0
  449. package/src/compiler/init.ts +141 -0
  450. package/src/compiler/instantiation.ts +938 -0
  451. package/src/compiler/jsdoc.ts +1386 -0
  452. package/src/compiler/link-tables.ts +343 -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 +1071 -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 +3433 -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 +1954 -0
  481. package/src/compiler/parallel-parse.ts +595 -0
  482. package/src/compiler/parse-thread.ts +136 -0
  483. package/src/compiler/parser.ts +7766 -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 +684 -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 +594 -0
  498. package/src/compiler/program-utilities.ts +435 -0
  499. package/src/compiler/program.ts +1426 -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 +1166 -0
  510. package/src/compiler/symbol.ts +557 -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 +833 -0
  523. package/src/compiler/transformers/declarations-pseudo.ts +969 -0
  524. package/src/compiler/transformers/declarations-resolver.ts +249 -0
  525. package/src/compiler/transformers/declarations-syntactic.ts +1867 -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 +1213 -0
  550. package/src/compiler/transformers/runtime-syntax.ts +942 -0
  551. package/src/compiler/transformers/subtree-facts.ts +253 -0
  552. package/src/compiler/transformers/syntax-facts.ts +358 -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 +1422 -0
  562. package/src/compiler/tsc-cli.ts +669 -0
  563. package/src/compiler/tsc-compile.ts +446 -0
  564. package/src/compiler/tsc-watch.ts +922 -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
@@ -483,96 +483,67 @@ export type LogicalOrCoalescingAssignmentOperator =
483
483
  export interface NodeBase extends Node {
484
484
  readonly flags: NodeFlags;
485
485
  }
486
- export interface StatementBase extends NodeBase {
487
- readonly _statementBrand: any;
488
- }
486
+ export interface StatementBase extends NodeBase {}
489
487
  export interface IterationStatementBase extends StatementBase {
490
488
  readonly statement: Statement;
491
489
  }
492
- export interface ExpressionBase extends NodeBase {
493
- readonly _expressionBrand: any;
494
- }
495
- export interface UnaryExpressionBase extends ExpressionBase {
496
- readonly _unaryExpressionBrand: any;
497
- }
498
- export interface UpdateExpressionBase extends UnaryExpressionBase {
499
- readonly _updateExpressionBrand: any;
500
- }
501
- export interface LeftHandSideExpressionBase extends UpdateExpressionBase {
502
- readonly _leftHandSideExpressionBrand: any;
503
- }
504
- export interface MemberExpressionBase extends LeftHandSideExpressionBase {
505
- readonly _memberExpressionBrand: any;
506
- }
507
- export interface PrimaryExpressionBase extends MemberExpressionBase {
508
- readonly _primaryExpressionBrand: any;
509
- }
510
- export interface TypeNodeBase extends NodeBase {
511
- readonly _typeNodeBrand: any;
512
- }
490
+ export interface ExpressionBase extends NodeBase {}
491
+ export interface UnaryExpressionBase extends ExpressionBase {}
492
+ export interface UpdateExpressionBase extends UnaryExpressionBase {}
493
+ export interface LeftHandSideExpressionBase extends UpdateExpressionBase {}
494
+ export interface MemberExpressionBase extends LeftHandSideExpressionBase {}
495
+ export interface PrimaryExpressionBase extends MemberExpressionBase {}
496
+ export interface TypeNodeBase extends NodeBase {}
513
497
  export interface NodeWithTypeArgumentsBase extends TypeNodeBase {
514
- readonly typeArguments?: NodeList<TypeNode>;
515
- }
516
- export interface JSDocTypeBase extends TypeNodeBase {
517
- readonly _jsDocTypeBrand: any;
518
- }
519
- export interface DeclarationBase extends Node {
520
- readonly _declarationBrand: any;
498
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
521
499
  }
500
+ export interface JSDocTypeBase extends TypeNodeBase {}
501
+ export interface DeclarationBase extends Node {}
522
502
  export interface ModifiersBase extends Node {
523
- readonly modifiers?: ModifierList<ModifierLike>;
503
+ readonly modifiers?: ModifierList<ModifierLike> | undefined;
524
504
  readonly modifierFlags: ModifierFlags;
525
505
  }
526
506
  export interface FunctionLikeBase extends DeclarationBase {
527
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
507
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
528
508
  readonly parameters: NodeList<ParameterDeclaration>;
529
- readonly type?: TypeNode;
530
- readonly fullSignature?: TypeNode;
509
+ readonly type?: TypeNode | undefined;
510
+ readonly fullSignature?: TypeNode | undefined;
531
511
  }
532
512
  export interface BodyBase extends Node {
533
- readonly asteriskToken?: AsteriskToken;
534
- readonly body?: NodeBody;
513
+ readonly asteriskToken?: AsteriskToken | undefined;
514
+ readonly body?: NodeBody | undefined;
535
515
  }
536
516
  export interface FunctionLikeWithBodyBase extends FunctionLikeBase, BodyBase {
537
- readonly _functionLikeDeclarationBrand: any;
538
- readonly body?: BlockOrExpression;
517
+ readonly body?: BlockOrExpression | undefined;
539
518
  }
540
519
  export interface ClassLikeBase extends DeclarationBase, ModifiersBase {
541
- readonly name?: Identifier;
542
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
543
- readonly heritageClauses?: NodeList<HeritageClause>;
520
+ readonly name?: Identifier | undefined;
521
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
522
+ readonly heritageClauses?: NodeList<HeritageClause> | undefined;
544
523
  readonly members: NodeList<ClassElement>;
545
524
  }
546
525
  export interface LiteralLikeNodeBase extends Node {
547
526
  readonly text: string;
548
527
  readonly tokenFlags: TokenFlags;
549
528
  }
550
- export interface LiteralExpressionBase extends LiteralLikeNodeBase, PrimaryExpressionBase {
551
- readonly _literalExpressionBrand: any;
552
- }
529
+ export interface LiteralExpressionBase extends LiteralLikeNodeBase, PrimaryExpressionBase {}
553
530
  export interface TemplateLiteralLikeNodeBase extends LiteralLikeNodeBase {
554
- readonly rawText: string;
531
+ readonly rawText?: string | undefined;
555
532
  readonly templateFlags: TokenFlags;
556
533
  }
557
- export interface TypeElementBase extends Node {
558
- readonly _typeElementBrand: any;
559
- }
560
- export interface ClassElementBase extends Node {
561
- readonly _classElementBrand: any;
562
- }
534
+ export interface TypeElementBase extends Node {}
535
+ export interface ClassElementBase extends Node {}
563
536
  export interface NamedMemberBase extends DeclarationBase, ModifiersBase {
564
537
  readonly name: PropertyName;
565
- readonly postfixToken?: QuestionToken | ExclamationToken;
566
- }
567
- export interface ObjectLiteralElementBase extends Node {
568
- readonly _objectLiteralBrand: any;
538
+ readonly postfixToken?: QuestionToken | ExclamationToken | undefined;
569
539
  }
540
+ export interface ObjectLiteralElementBase extends Node {}
570
541
  export interface UnionOrIntersectionTypeNodeBase extends TypeNodeBase {
571
542
  readonly types: NodeList<TypeNode>;
572
543
  }
573
544
  export interface JSDocTagBase extends NodeBase {
574
545
  readonly tagName: Identifier;
575
- readonly comment?: NodeList<JSDocComment>;
546
+ readonly comment?: NodeList<JSDocComment> | undefined;
576
547
  }
577
548
  export interface JSDocCommentBase extends NodeBase {
578
549
  readonly text: string;
@@ -609,7 +580,7 @@ export interface IfStatement extends StatementBase {
609
580
  readonly kind: SyntaxKind.IfStatement;
610
581
  readonly expression: Expression;
611
582
  readonly thenStatement: Statement;
612
- readonly elseStatement?: Statement;
583
+ readonly elseStatement?: Statement | undefined;
613
584
  }
614
585
  export interface DoStatement extends IterationStatementBase {
615
586
  readonly kind: SyntaxKind.DoStatement;
@@ -621,21 +592,21 @@ export interface WhileStatement extends IterationStatementBase {
621
592
  }
622
593
  export interface ForStatement extends IterationStatementBase {
623
594
  readonly kind: SyntaxKind.ForStatement;
624
- readonly initializer?: ForInitializer;
625
- readonly condition?: Expression;
626
- readonly incrementor?: Expression;
595
+ readonly initializer?: ForInitializer | undefined;
596
+ readonly condition?: Expression | undefined;
597
+ readonly incrementor?: Expression | undefined;
627
598
  }
628
599
  export interface BreakStatement extends StatementBase {
629
600
  readonly kind: SyntaxKind.BreakStatement;
630
- readonly label?: Identifier;
601
+ readonly label?: Identifier | undefined;
631
602
  }
632
603
  export interface ContinueStatement extends StatementBase {
633
604
  readonly kind: SyntaxKind.ContinueStatement;
634
- readonly label?: Identifier;
605
+ readonly label?: Identifier | undefined;
635
606
  }
636
607
  export interface ReturnStatement extends StatementBase {
637
608
  readonly kind: SyntaxKind.ReturnStatement;
638
- readonly expression?: Expression;
609
+ readonly expression?: Expression | undefined;
639
610
  }
640
611
  export interface WithStatement extends StatementBase {
641
612
  readonly kind: SyntaxKind.WithStatement;
@@ -658,12 +629,12 @@ export interface ThrowStatement extends StatementBase {
658
629
  export interface TryStatement extends StatementBase {
659
630
  readonly kind: SyntaxKind.TryStatement;
660
631
  readonly tryBlock: Block;
661
- readonly catchClause?: CatchClause;
662
- readonly finallyBlock?: Block;
632
+ readonly catchClause?: CatchClause | undefined;
633
+ readonly finallyBlock?: Block | undefined;
663
634
  }
664
635
  export interface CatchClause extends NodeBase {
665
636
  readonly kind: SyntaxKind.CatchClause;
666
- readonly variableDeclaration?: VariableDeclaration;
637
+ readonly variableDeclaration?: VariableDeclaration | undefined;
667
638
  readonly block: Block;
668
639
  }
669
640
  export interface DebuggerStatement extends StatementBase {
@@ -690,9 +661,9 @@ export interface VariableStatement extends StatementBase, ModifiersBase {
690
661
  export interface VariableDeclaration extends NodeBase, DeclarationBase {
691
662
  readonly kind: SyntaxKind.VariableDeclaration;
692
663
  readonly name: BindingName;
693
- readonly exclamationToken?: ExclamationToken;
694
- readonly type?: TypeNode;
695
- readonly initializer?: Expression;
664
+ readonly exclamationToken?: ExclamationToken | undefined;
665
+ readonly type?: TypeNode | undefined;
666
+ readonly initializer?: Expression | undefined;
696
667
  }
697
668
  export interface VariableDeclarationList extends NodeBase {
698
669
  readonly kind: SyntaxKind.VariableDeclarationList;
@@ -700,26 +671,26 @@ export interface VariableDeclarationList extends NodeBase {
700
671
  }
701
672
  export interface ParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
702
673
  readonly kind: SyntaxKind.Parameter;
703
- readonly dotDotDotToken?: DotDotDotToken;
674
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
704
675
  readonly name: BindingName;
705
- readonly questionToken?: QuestionToken;
706
- readonly type?: TypeNode;
707
- readonly initializer?: Expression;
676
+ readonly questionToken?: QuestionToken | undefined;
677
+ readonly type?: TypeNode | undefined;
678
+ readonly initializer?: Expression | undefined;
708
679
  }
709
680
  export interface BindingElement extends NodeBase, DeclarationBase {
710
681
  readonly kind: SyntaxKind.BindingElement;
711
- readonly dotDotDotToken?: DotDotDotToken;
712
- readonly propertyName?: PropertyName;
713
- readonly name?: BindingName;
714
- readonly initializer?: Expression;
682
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
683
+ readonly propertyName?: PropertyName | undefined;
684
+ readonly name?: BindingName | undefined;
685
+ readonly initializer?: Expression | undefined;
715
686
  }
716
687
  export interface MissingDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
717
688
  readonly kind: SyntaxKind.MissingDeclaration;
718
689
  }
719
690
  export interface FunctionDeclaration extends DeclarationBase, StatementBase, ModifiersBase, FunctionLikeWithBodyBase {
720
691
  readonly kind: SyntaxKind.FunctionDeclaration;
721
- readonly name?: Identifier;
722
- readonly body?: FunctionBody;
692
+ readonly name?: Identifier | undefined;
693
+ readonly body?: FunctionBody | undefined;
723
694
  }
724
695
  export interface ClassDeclaration extends DeclarationBase, StatementBase, ClassLikeBase {
725
696
  readonly kind: SyntaxKind.ClassDeclaration;
@@ -735,19 +706,19 @@ export interface HeritageClause extends NodeBase {
735
706
  export interface InterfaceDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
736
707
  readonly kind: SyntaxKind.InterfaceDeclaration;
737
708
  readonly name: Identifier;
738
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
739
- readonly heritageClauses?: NodeList<HeritageClause>;
709
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
710
+ readonly heritageClauses?: NodeList<HeritageClause> | undefined;
740
711
  readonly members: NodeList<TypeElement>;
741
712
  }
742
713
  export interface TypeAliasDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
743
714
  readonly kind: SyntaxKind.TypeAliasDeclaration;
744
715
  readonly name: Identifier;
745
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
716
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
746
717
  readonly type: TypeNode;
747
718
  }
748
719
  export interface EnumMember extends NodeBase, NamedMemberBase {
749
720
  readonly kind: SyntaxKind.EnumMember;
750
- readonly initializer?: Expression;
721
+ readonly initializer?: Expression | undefined;
751
722
  }
752
723
  export interface EnumDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
753
724
  readonly kind: SyntaxKind.EnumDeclaration;
@@ -766,9 +737,9 @@ export interface NotEmittedTypeElement extends NodeBase, TypeElementBase {
766
737
  }
767
738
  export interface ImportDeclaration extends StatementBase, ModifiersBase, DeclarationBase {
768
739
  readonly kind: SyntaxKind.ImportDeclaration;
769
- readonly importClause?: ImportClause;
740
+ readonly importClause?: ImportClause | undefined;
770
741
  readonly moduleSpecifier: Expression;
771
- readonly attributes?: ImportAttributes;
742
+ readonly attributes?: ImportAttributes | undefined;
772
743
  }
773
744
  export interface ExternalModuleReference extends NodeBase {
774
745
  readonly kind: SyntaxKind.ExternalModuleReference;
@@ -785,7 +756,7 @@ export interface NamedImports extends NodeBase {
785
756
  export interface ExportAssignment extends DeclarationBase, StatementBase, ModifiersBase {
786
757
  readonly kind: SyntaxKind.ExportAssignment;
787
758
  readonly isExportEquals: boolean;
788
- readonly type?: TypeNode;
759
+ readonly type?: TypeNode | undefined;
789
760
  readonly expression: Expression;
790
761
  }
791
762
  export interface NamespaceExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
@@ -803,7 +774,7 @@ export interface NamedExports extends NodeBase {
803
774
  export interface ExportSpecifier extends NodeBase, DeclarationBase {
804
775
  readonly kind: SyntaxKind.ExportSpecifier;
805
776
  readonly isTypeOnly: boolean;
806
- readonly propertyName?: ModuleExportName;
777
+ readonly propertyName?: ModuleExportName | undefined;
807
778
  readonly name: ModuleExportName;
808
779
  }
809
780
  export interface CallSignatureDeclaration extends NodeBase, DeclarationBase, FunctionLikeBase, TypeElementBase {
@@ -815,7 +786,7 @@ export interface ConstructSignatureDeclaration extends NodeBase, DeclarationBase
815
786
  export interface ConstructorDeclaration
816
787
  extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase, ClassElementBase {
817
788
  readonly kind: SyntaxKind.Constructor;
818
- readonly body?: FunctionBody;
789
+ readonly body?: FunctionBody | undefined;
819
790
  }
820
791
  export interface GetAccessorDeclaration
821
792
  extends
@@ -826,7 +797,7 @@ export interface GetAccessorDeclaration
826
797
  ObjectLiteralElementBase,
827
798
  NodeBase {
828
799
  readonly kind: SyntaxKind.GetAccessor;
829
- readonly body?: FunctionBody;
800
+ readonly body?: FunctionBody | undefined;
830
801
  }
831
802
  export interface SetAccessorDeclaration
832
803
  extends
@@ -837,12 +808,12 @@ export interface SetAccessorDeclaration
837
808
  ObjectLiteralElementBase,
838
809
  NodeBase {
839
810
  readonly kind: SyntaxKind.SetAccessor;
840
- readonly body?: FunctionBody;
811
+ readonly body?: FunctionBody | undefined;
841
812
  }
842
813
  export interface IndexSignatureDeclaration
843
814
  extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeBase, TypeElementBase, ClassElementBase {
844
815
  readonly kind: SyntaxKind.IndexSignature;
845
- readonly type?: TypeNode;
816
+ readonly type?: TypeNode | undefined;
846
817
  }
847
818
  export interface MethodSignatureDeclaration extends NodeBase, NamedMemberBase, FunctionLikeBase, TypeElementBase {
848
819
  readonly kind: SyntaxKind.MethodSignature;
@@ -850,17 +821,17 @@ export interface MethodSignatureDeclaration extends NodeBase, NamedMemberBase, F
850
821
  export interface MethodDeclaration
851
822
  extends NodeBase, NamedMemberBase, FunctionLikeWithBodyBase, ClassElementBase, ObjectLiteralElementBase {
852
823
  readonly kind: SyntaxKind.MethodDeclaration;
853
- readonly body?: FunctionBody;
824
+ readonly body?: FunctionBody | undefined;
854
825
  }
855
826
  export interface PropertySignatureDeclaration extends NodeBase, NamedMemberBase, TypeElementBase {
856
827
  readonly kind: SyntaxKind.PropertySignature;
857
- readonly type?: TypeNode;
858
- readonly initializer?: Expression;
828
+ readonly type?: TypeNode | undefined;
829
+ readonly initializer?: Expression | undefined;
859
830
  }
860
831
  export interface PropertyDeclaration extends NodeBase, NamedMemberBase, ClassElementBase {
861
832
  readonly kind: SyntaxKind.PropertyDeclaration;
862
- readonly type?: TypeNode;
863
- readonly initializer?: Expression;
833
+ readonly type?: TypeNode | undefined;
834
+ readonly initializer?: Expression | undefined;
864
835
  }
865
836
  export interface SemicolonClassElement extends NodeBase, DeclarationBase, ClassElementBase {
866
837
  readonly kind: SyntaxKind.SemicolonClassElement;
@@ -895,7 +866,7 @@ export interface NoSubstitutionTemplateLiteral extends ExpressionBase, TemplateL
895
866
  export interface BinaryExpression extends ExpressionBase, DeclarationBase, ModifiersBase {
896
867
  readonly kind: SyntaxKind.BinaryExpression;
897
868
  readonly left: Expression;
898
- readonly type?: TypeNode;
869
+ readonly type?: TypeNode | undefined;
899
870
  readonly operatorToken: BinaryOperatorToken;
900
871
  readonly right: Expression;
901
872
  }
@@ -917,18 +888,18 @@ export interface PostfixUnaryExpression extends UpdateExpressionBase {
917
888
  }
918
889
  export interface YieldExpression extends ExpressionBase {
919
890
  readonly kind: SyntaxKind.YieldExpression;
920
- readonly asteriskToken?: AsteriskToken;
921
- readonly expression?: Expression;
891
+ readonly asteriskToken?: AsteriskToken | undefined;
892
+ readonly expression?: Expression | undefined;
922
893
  }
923
894
  export interface ArrowFunction extends ExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
924
895
  readonly kind: SyntaxKind.ArrowFunction;
925
- readonly equalsGreaterThanToken?: EqualsGreaterThanToken;
896
+ readonly equalsGreaterThanToken?: EqualsGreaterThanToken | undefined;
926
897
  readonly body: ConciseBody;
927
898
  }
928
899
  export interface FunctionExpression
929
900
  extends PrimaryExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
930
901
  readonly kind: SyntaxKind.FunctionExpression;
931
- readonly name?: Identifier;
902
+ readonly name?: Identifier | undefined;
932
903
  readonly body: FunctionBody;
933
904
  }
934
905
  export interface AsExpression extends ExpressionBase {
@@ -952,27 +923,27 @@ export interface ConditionalExpression extends ExpressionBase {
952
923
  export interface PropertyAccessExpression extends MemberExpressionBase {
953
924
  readonly kind: SyntaxKind.PropertyAccessExpression;
954
925
  readonly expression: Expression;
955
- readonly questionDotToken?: QuestionDotToken;
926
+ readonly questionDotToken?: QuestionDotToken | undefined;
956
927
  readonly name: MemberName;
957
928
  }
958
929
  export interface ElementAccessExpression extends MemberExpressionBase {
959
930
  readonly kind: SyntaxKind.ElementAccessExpression;
960
931
  readonly expression: Expression;
961
- readonly questionDotToken?: QuestionDotToken;
932
+ readonly questionDotToken?: QuestionDotToken | undefined;
962
933
  readonly argumentExpression: Expression;
963
934
  }
964
935
  export interface CallExpression extends LeftHandSideExpressionBase, DeclarationBase {
965
936
  readonly kind: SyntaxKind.CallExpression;
966
937
  readonly expression: Expression;
967
- readonly questionDotToken?: QuestionDotToken;
968
- readonly typeArguments?: NodeList<TypeNode>;
938
+ readonly questionDotToken?: QuestionDotToken | undefined;
939
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
969
940
  readonly arguments: NodeList<Expression>;
970
941
  }
971
942
  export interface NewExpression extends PrimaryExpressionBase {
972
943
  readonly kind: SyntaxKind.NewExpression;
973
944
  readonly expression: Expression;
974
- readonly typeArguments?: NodeList<TypeNode>;
975
- readonly arguments?: NodeList<Expression>;
945
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
946
+ readonly arguments?: NodeList<Expression> | undefined;
976
947
  }
977
948
  export interface MetaProperty extends PrimaryExpressionBase {
978
949
  readonly kind: SyntaxKind.MetaProperty;
@@ -1000,8 +971,8 @@ export interface TemplateSpan extends NodeBase {
1000
971
  export interface TaggedTemplateExpression extends MemberExpressionBase {
1001
972
  readonly kind: SyntaxKind.TaggedTemplateExpression;
1002
973
  readonly tag: Expression;
1003
- readonly questionDotToken?: QuestionDotToken;
1004
- readonly typeArguments?: NodeList<TypeNode>;
974
+ readonly questionDotToken?: QuestionDotToken | undefined;
975
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
1005
976
  readonly template: TemplateLiteral;
1006
977
  }
1007
978
  export interface ParenthesizedExpression extends PrimaryExpressionBase {
@@ -1024,14 +995,14 @@ export interface SpreadAssignment extends NodeBase, DeclarationBase, ObjectLiter
1024
995
  }
1025
996
  export interface PropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
1026
997
  readonly kind: SyntaxKind.PropertyAssignment;
1027
- readonly type?: TypeNode;
998
+ readonly type?: TypeNode | undefined;
1028
999
  readonly initializer: Expression;
1029
1000
  }
1030
1001
  export interface ShorthandPropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
1031
1002
  readonly kind: SyntaxKind.ShorthandPropertyAssignment;
1032
- readonly type?: TypeNode;
1033
- readonly equalsToken?: EqualsToken;
1034
- readonly objectAssignmentInitializer?: Expression;
1003
+ readonly type?: TypeNode | undefined;
1004
+ readonly equalsToken?: EqualsToken | undefined;
1005
+ readonly objectAssignmentInitializer?: Expression | undefined;
1035
1006
  }
1036
1007
  export interface DeleteExpression extends UnaryExpressionBase {
1037
1008
  readonly kind: SyntaxKind.DeleteExpression;
@@ -1095,7 +1066,7 @@ export interface TypeReferenceNode extends NodeWithTypeArgumentsBase {
1095
1066
  export interface ExpressionWithTypeArguments extends MemberExpressionBase {
1096
1067
  readonly kind: SyntaxKind.ExpressionWithTypeArguments;
1097
1068
  readonly expression: Expression;
1098
- readonly typeArguments?: NodeList<TypeNode>;
1069
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
1099
1070
  }
1100
1071
  export interface LiteralTypeNode extends TypeNodeBase {
1101
1072
  readonly kind: SyntaxKind.LiteralType;
@@ -1106,13 +1077,13 @@ export interface ThisTypeNode extends TypeNodeBase {
1106
1077
  }
1107
1078
  export interface TypePredicateNode extends TypeNodeBase {
1108
1079
  readonly kind: SyntaxKind.TypePredicate;
1109
- readonly assertsModifier?: AssertsKeyword;
1080
+ readonly assertsModifier?: AssertsKeyword | undefined;
1110
1081
  readonly parameterName: TypePredicateParameterName;
1111
- readonly type?: TypeNode;
1082
+ readonly type?: TypeNode | undefined;
1112
1083
  }
1113
1084
  export interface ImportAttribute extends NodeBase {
1114
1085
  readonly kind: SyntaxKind.ImportAttribute;
1115
- readonly name?: ImportAttributeName;
1086
+ readonly name?: ImportAttributeName | undefined;
1116
1087
  readonly value: Expression;
1117
1088
  }
1118
1089
  export interface ImportAttributes extends NodeBase {
@@ -1127,12 +1098,12 @@ export interface TypeQueryNode extends NodeWithTypeArgumentsBase {
1127
1098
  }
1128
1099
  export interface MappedTypeNode extends TypeNodeBase, DeclarationBase {
1129
1100
  readonly kind: SyntaxKind.MappedType;
1130
- readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
1101
+ readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken | undefined;
1131
1102
  readonly typeParameter: TypeParameterDeclaration;
1132
- readonly nameType?: TypeNode;
1133
- readonly questionToken?: QuestionToken | PlusToken | MinusToken;
1134
- readonly type?: TypeNode;
1135
- readonly members?: NodeList<TypeElement>;
1103
+ readonly nameType?: TypeNode | undefined;
1104
+ readonly questionToken?: QuestionToken | PlusToken | MinusToken | undefined;
1105
+ readonly type?: TypeNode | undefined;
1106
+ readonly members?: NodeList<TypeElement> | undefined;
1136
1107
  }
1137
1108
  export interface TypeLiteralNode extends TypeNodeBase, DeclarationBase {
1138
1109
  readonly kind: SyntaxKind.TypeLiteral;
@@ -1144,9 +1115,9 @@ export interface TupleTypeNode extends TypeNodeBase {
1144
1115
  }
1145
1116
  export interface NamedTupleMember extends TypeNodeBase, DeclarationBase {
1146
1117
  readonly kind: SyntaxKind.NamedTupleMember;
1147
- readonly dotDotDotToken?: DotDotDotToken;
1118
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
1148
1119
  readonly name: Identifier;
1149
- readonly questionToken?: QuestionToken;
1120
+ readonly questionToken?: QuestionToken | undefined;
1150
1121
  readonly type: TypeNode;
1151
1122
  }
1152
1123
  export interface OptionalTypeNode extends TypeNodeBase {
@@ -1169,12 +1140,15 @@ export interface ConstructorTypeNode extends TypeNodeBase, ModifiersBase, Functi
1169
1140
  }
1170
1141
  export interface TemplateHead extends NodeBase, TemplateLiteralLikeNodeBase {
1171
1142
  readonly kind: SyntaxKind.TemplateHead;
1143
+ readonly rawText: string;
1172
1144
  }
1173
1145
  export interface TemplateMiddle extends NodeBase, TemplateLiteralLikeNodeBase {
1174
1146
  readonly kind: SyntaxKind.TemplateMiddle;
1147
+ readonly rawText: string;
1175
1148
  }
1176
1149
  export interface TemplateTail extends NodeBase, TemplateLiteralLikeNodeBase {
1177
1150
  readonly kind: SyntaxKind.TemplateTail;
1151
+ readonly rawText: string;
1178
1152
  }
1179
1153
  export interface TemplateLiteralTypeNode extends TypeNodeBase {
1180
1154
  readonly kind: SyntaxKind.TemplateLiteralType;
@@ -1190,7 +1164,7 @@ export interface SyntheticExpression extends ExpressionBase {
1190
1164
  readonly kind: SyntaxKind.SyntheticExpression;
1191
1165
  readonly type: any;
1192
1166
  readonly isSpread: boolean;
1193
- readonly tupleNameSource?: Node;
1167
+ readonly tupleNameSource?: Node | undefined;
1194
1168
  }
1195
1169
  export interface PartiallyEmittedExpression extends LeftHandSideExpressionBase {
1196
1170
  readonly kind: SyntaxKind.PartiallyEmittedExpression;
@@ -1214,13 +1188,13 @@ export interface JsxNamespacedName extends ExpressionBase {
1214
1188
  export interface JsxOpeningElement extends ExpressionBase {
1215
1189
  readonly kind: SyntaxKind.JsxOpeningElement;
1216
1190
  readonly tagName: JsxTagNameExpression;
1217
- readonly typeArguments?: NodeList<TypeNode>;
1191
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
1218
1192
  readonly attributes: JsxAttributes;
1219
1193
  }
1220
1194
  export interface JsxSelfClosingElement extends PrimaryExpressionBase {
1221
1195
  readonly kind: SyntaxKind.JsxSelfClosingElement;
1222
1196
  readonly tagName: JsxTagNameExpression;
1223
- readonly typeArguments?: NodeList<TypeNode>;
1197
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
1224
1198
  readonly attributes: JsxAttributes;
1225
1199
  }
1226
1200
  export interface JsxFragment extends PrimaryExpressionBase {
@@ -1238,7 +1212,7 @@ export interface JsxClosingFragment extends ExpressionBase {
1238
1212
  export interface JsxAttribute extends NodeBase, DeclarationBase {
1239
1213
  readonly kind: SyntaxKind.JsxAttribute;
1240
1214
  readonly name: JsxAttributeName;
1241
- readonly initializer?: JsxAttributeValue;
1215
+ readonly initializer?: JsxAttributeValue | undefined;
1242
1216
  }
1243
1217
  export interface JsxSpreadAttribute extends ObjectLiteralElementBase, NodeBase {
1244
1218
  readonly kind: SyntaxKind.JsxSpreadAttribute;
@@ -1250,8 +1224,8 @@ export interface JsxClosingElement extends NodeBase {
1250
1224
  }
1251
1225
  export interface JsxExpression extends ExpressionBase {
1252
1226
  readonly kind: SyntaxKind.JsxExpression;
1253
- readonly dotDotDotToken?: DotDotDotToken;
1254
- readonly expression?: Expression;
1227
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
1228
+ readonly expression?: Expression | undefined;
1255
1229
  }
1256
1230
  export interface JsxText extends ExpressionBase, LiteralLikeNodeBase {
1257
1231
  readonly kind: SyntaxKind.JsxText;
@@ -1264,7 +1238,7 @@ export interface SyntaxList extends NodeBase {
1264
1238
  export interface JSDoc extends NodeBase {
1265
1239
  readonly kind: SyntaxKind.JSDoc;
1266
1240
  readonly comment: NodeList<JSDocComment>;
1267
- readonly tags?: NodeList<JSDocTag>;
1241
+ readonly tags?: NodeList<JSDocTag> | undefined;
1268
1242
  }
1269
1243
  export interface JSDocTypeExpression extends TypeNodeBase {
1270
1244
  readonly kind: SyntaxKind.JSDocTypeExpression;
@@ -1291,19 +1265,19 @@ export interface JSDocOptionalType extends JSDocTypeBase {
1291
1265
  }
1292
1266
  export interface JSDocTypeTag extends JSDocTagBase {
1293
1267
  readonly kind: SyntaxKind.JSDocTypeTag;
1294
- readonly typeExpression?: Node;
1268
+ readonly typeExpression: Node;
1295
1269
  }
1296
1270
  export interface JSDocUnknownTag extends JSDocTagBase {
1297
1271
  readonly kind: SyntaxKind.JSDocUnknownTag;
1298
1272
  }
1299
1273
  export interface JSDocTemplateTag extends JSDocTagBase {
1300
1274
  readonly kind: SyntaxKind.JSDocTemplateTag;
1301
- readonly constraint?: Node;
1275
+ readonly constraint?: Node | undefined;
1302
1276
  readonly typeParameters: NodeList<TypeParameterDeclaration>;
1303
1277
  }
1304
1278
  export interface JSDocReturnTag extends JSDocTagBase {
1305
1279
  readonly kind: SyntaxKind.JSDocReturnTag;
1306
- readonly typeExpression?: TypeNode;
1280
+ readonly typeExpression?: TypeNode | undefined;
1307
1281
  }
1308
1282
  export interface JSDocPublicTag extends JSDocTagBase {
1309
1283
  readonly kind: SyntaxKind.JSDocPublicTag;
@@ -1325,7 +1299,7 @@ export interface JSDocDeprecatedTag extends JSDocTagBase {
1325
1299
  }
1326
1300
  export interface JSDocSeeTag extends JSDocTagBase {
1327
1301
  readonly kind: SyntaxKind.JSDocSeeTag;
1328
- readonly nameExpression?: TypeNode;
1302
+ readonly nameExpression?: TypeNode | undefined;
1329
1303
  }
1330
1304
  export interface JSDocImplementsTag extends JSDocTagBase {
1331
1305
  readonly kind: SyntaxKind.JSDocImplementsTag;
@@ -1341,7 +1315,7 @@ export interface JSDocSatisfiesTag extends JSDocTagBase {
1341
1315
  }
1342
1316
  export interface JSDocThrowsTag extends JSDocTagBase {
1343
1317
  readonly kind: SyntaxKind.JSDocThrowsTag;
1344
- readonly typeExpression?: TypeNode;
1318
+ readonly typeExpression?: TypeNode | undefined;
1345
1319
  }
1346
1320
  export interface JSDocThisTag extends JSDocTagBase {
1347
1321
  readonly kind: SyntaxKind.JSDocThisTag;
@@ -1349,14 +1323,14 @@ export interface JSDocThisTag extends JSDocTagBase {
1349
1323
  }
1350
1324
  export interface JSDocImportTag extends JSDocTagBase {
1351
1325
  readonly kind: SyntaxKind.JSDocImportTag;
1352
- readonly importClause?: ImportClause;
1326
+ readonly importClause?: ImportClause | undefined;
1353
1327
  readonly moduleSpecifier: Expression;
1354
- readonly attributes?: ImportAttributes;
1328
+ readonly attributes?: ImportAttributes | undefined;
1355
1329
  }
1356
1330
  export interface JSDocCallbackTag extends JSDocTagBase {
1357
1331
  readonly kind: SyntaxKind.JSDocCallbackTag;
1358
1332
  readonly typeExpression: TypeNode;
1359
- readonly name?: JSDocFullName;
1333
+ readonly name?: JSDocFullName | undefined;
1360
1334
  }
1361
1335
  export interface JSDocOverloadTag extends JSDocTagBase {
1362
1336
  readonly kind: SyntaxKind.JSDocOverloadTag;
@@ -1364,21 +1338,21 @@ export interface JSDocOverloadTag extends JSDocTagBase {
1364
1338
  }
1365
1339
  export interface JSDocTypedefTag extends JSDocTagBase {
1366
1340
  readonly kind: SyntaxKind.JSDocTypedefTag;
1367
- readonly typeExpression?: Node;
1368
- readonly name?: JSDocFullName;
1341
+ readonly typeExpression?: Node | undefined;
1342
+ readonly name?: JSDocFullName | undefined;
1369
1343
  }
1370
1344
  export interface JSDocSignature extends JSDocTypeBase, FunctionLikeBase {
1371
1345
  readonly kind: SyntaxKind.JSDocSignature;
1372
1346
  }
1373
1347
  export interface JSDocNameReference extends TypeNodeBase {
1374
1348
  readonly kind: SyntaxKind.JSDocNameReference;
1375
- readonly name?: EntityName;
1349
+ readonly name?: EntityName | undefined;
1376
1350
  }
1377
1351
  export interface ModuleDeclaration extends DeclarationBase, StatementBase, ModifiersBase, BodyBase {
1378
1352
  readonly kind: SyntaxKind.ModuleDeclaration;
1379
- readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword;
1353
+ readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.GlobalKeyword;
1380
1354
  readonly name: ModuleName;
1381
- readonly body?: ModuleBody;
1355
+ readonly body?: ModuleBody | undefined;
1382
1356
  }
1383
1357
  export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
1384
1358
  readonly kind: SyntaxKind.ImportEqualsDeclaration;
@@ -1389,27 +1363,27 @@ export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase,
1389
1363
  export interface ExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
1390
1364
  readonly kind: SyntaxKind.ExportDeclaration;
1391
1365
  readonly isTypeOnly: boolean;
1392
- readonly exportClause?: NamedExportBindings;
1393
- readonly moduleSpecifier?: Expression;
1394
- readonly attributes?: ImportAttributes;
1366
+ readonly exportClause?: NamedExportBindings | undefined;
1367
+ readonly moduleSpecifier?: Expression | undefined;
1368
+ readonly attributes?: ImportAttributes | undefined;
1395
1369
  }
1396
1370
  export interface ImportTypeNode extends NodeWithTypeArgumentsBase {
1397
1371
  readonly kind: SyntaxKind.ImportType;
1398
1372
  readonly isTypeOf: boolean;
1399
1373
  readonly argument: TypeNode;
1400
- readonly attributes?: ImportAttributes;
1401
- readonly qualifier?: EntityName;
1374
+ readonly attributes?: ImportAttributes | undefined;
1375
+ readonly qualifier?: EntityName | undefined;
1402
1376
  }
1403
1377
  export interface ImportClause extends NodeBase, DeclarationBase {
1404
1378
  readonly kind: SyntaxKind.ImportClause;
1405
- readonly phaseModifier?: ImportPhaseModifierSyntaxKind;
1406
- readonly name?: Identifier;
1407
- readonly namedBindings?: NamedImportBindings;
1379
+ readonly phaseModifier?: ImportPhaseModifierSyntaxKind | undefined;
1380
+ readonly name?: Identifier | undefined;
1381
+ readonly namedBindings?: NamedImportBindings | undefined;
1408
1382
  }
1409
1383
  export interface ImportSpecifier extends NodeBase, DeclarationBase {
1410
1384
  readonly kind: SyntaxKind.ImportSpecifier;
1411
1385
  readonly isTypeOnly: boolean;
1412
- readonly propertyName?: ModuleExportName;
1386
+ readonly propertyName?: ModuleExportName | undefined;
1413
1387
  readonly name: Identifier;
1414
1388
  }
1415
1389
  export interface JSDocText extends JSDocCommentBase {
@@ -1417,22 +1391,22 @@ export interface JSDocText extends JSDocCommentBase {
1417
1391
  }
1418
1392
  export interface JSDocLink extends JSDocCommentBase {
1419
1393
  readonly kind: SyntaxKind.JSDocLink;
1420
- readonly name?: EntityName;
1394
+ readonly name?: EntityName | undefined;
1421
1395
  }
1422
1396
  export interface JSDocLinkPlain extends JSDocCommentBase {
1423
1397
  readonly kind: SyntaxKind.JSDocLinkPlain;
1424
- readonly name?: EntityName;
1398
+ readonly name?: EntityName | undefined;
1425
1399
  }
1426
1400
  export interface JSDocLinkCode extends JSDocCommentBase {
1427
1401
  readonly kind: SyntaxKind.JSDocLinkCode;
1428
- readonly name?: EntityName;
1402
+ readonly name?: EntityName | undefined;
1429
1403
  }
1430
1404
  export interface TypeParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
1431
1405
  readonly kind: SyntaxKind.TypeParameter;
1432
1406
  readonly name: Identifier;
1433
- readonly constraint?: TypeNode;
1434
- readonly expression?: Expression;
1435
- readonly defaultType?: TypeNode;
1407
+ readonly constraint?: TypeNode | undefined;
1408
+ readonly expression?: Expression | undefined;
1409
+ readonly defaultType?: TypeNode | undefined;
1436
1410
  }
1437
1411
  export interface SyntheticReferenceExpression extends ExpressionBase {
1438
1412
  readonly kind: SyntaxKind.SyntheticReferenceExpression;
@@ -1441,7 +1415,7 @@ export interface SyntheticReferenceExpression extends ExpressionBase {
1441
1415
  }
1442
1416
  export interface JSDocTypeLiteral extends JSDocTypeBase, DeclarationBase {
1443
1417
  readonly kind: SyntaxKind.JSDocTypeLiteral;
1444
- readonly jsdocPropertyTags?: readonly JSDocTag[];
1418
+ readonly jsdocPropertyTags?: readonly JSDocTag[] | undefined;
1445
1419
  readonly isArrayType: boolean;
1446
1420
  }
1447
1421
 
@@ -1599,26 +1573,26 @@ export type IncrementExpression = UpdateExpressionBase;
1599
1573
 
1600
1574
  export interface ForInStatement extends StatementBase {
1601
1575
  readonly kind: SyntaxKind.ForInStatement;
1602
- readonly awaitModifier?: AwaitKeyword;
1576
+ readonly awaitModifier?: AwaitKeyword | undefined;
1603
1577
  readonly initializer: ForInitializer;
1604
1578
  readonly expression: Expression;
1605
1579
  readonly statement: Statement;
1606
1580
  }
1607
1581
  export interface ForOfStatement extends StatementBase {
1608
1582
  readonly kind: SyntaxKind.ForOfStatement;
1609
- readonly awaitModifier?: AwaitKeyword;
1583
+ readonly awaitModifier?: AwaitKeyword | undefined;
1610
1584
  readonly initializer: ForInitializer;
1611
1585
  readonly expression: Expression;
1612
1586
  readonly statement: Statement;
1613
1587
  }
1614
1588
  export interface CaseClause extends NodeBase {
1615
1589
  readonly kind: SyntaxKind.CaseClause;
1616
- readonly expression?: Expression;
1590
+ readonly expression: Expression;
1617
1591
  readonly statements: NodeList<Statement>;
1618
1592
  }
1619
1593
  export interface DefaultClause extends NodeBase {
1620
1594
  readonly kind: SyntaxKind.DefaultClause;
1621
- readonly expression?: Expression;
1595
+ readonly expression?: undefined;
1622
1596
  readonly statements: NodeList<Statement>;
1623
1597
  }
1624
1598
  export interface ObjectBindingPattern extends NodeBase {
@@ -1633,14 +1607,14 @@ export interface JSDocParameterTag extends JSDocTagBase {
1633
1607
  readonly kind: SyntaxKind.JSDocParameterTag;
1634
1608
  readonly name: EntityName;
1635
1609
  readonly isBracketed: boolean;
1636
- readonly typeExpression?: TypeNode;
1610
+ readonly typeExpression?: TypeNode | undefined;
1637
1611
  readonly isNameFirst: boolean;
1638
1612
  }
1639
1613
  export interface JSDocPropertyTag extends JSDocTagBase {
1640
1614
  readonly kind: SyntaxKind.JSDocPropertyTag;
1641
1615
  readonly name: EntityName;
1642
1616
  readonly isBracketed: boolean;
1643
- readonly typeExpression?: TypeNode;
1617
+ readonly typeExpression?: TypeNode | undefined;
1644
1618
  readonly isNameFirst: boolean;
1645
1619
  }
1646
1620
  export type ForInOrOfStatement = ForInStatement | ForOfStatement;