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
@@ -38,63 +38,52 @@ export interface NodeBase extends Node {
38
38
  readonly flags: NodeFlags;
39
39
  }
40
40
  export interface StatementBase extends NodeBase {
41
- readonly _statementBrand: any;
42
41
  }
43
42
  export interface IterationStatementBase extends StatementBase {
44
43
  readonly statement: Statement;
45
44
  }
46
45
  export interface ExpressionBase extends NodeBase {
47
- readonly _expressionBrand: any;
48
46
  }
49
47
  export interface UnaryExpressionBase extends ExpressionBase {
50
- readonly _unaryExpressionBrand: any;
51
48
  }
52
49
  export interface UpdateExpressionBase extends UnaryExpressionBase {
53
- readonly _updateExpressionBrand: any;
54
50
  }
55
51
  export interface LeftHandSideExpressionBase extends UpdateExpressionBase {
56
- readonly _leftHandSideExpressionBrand: any;
57
52
  }
58
53
  export interface MemberExpressionBase extends LeftHandSideExpressionBase {
59
- readonly _memberExpressionBrand: any;
60
54
  }
61
55
  export interface PrimaryExpressionBase extends MemberExpressionBase {
62
- readonly _primaryExpressionBrand: any;
63
56
  }
64
57
  export interface TypeNodeBase extends NodeBase {
65
- readonly _typeNodeBrand: any;
66
58
  }
67
59
  export interface NodeWithTypeArgumentsBase extends TypeNodeBase {
68
- readonly typeArguments?: NodeList<TypeNode>;
60
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
69
61
  }
70
62
  export interface JSDocTypeBase extends TypeNodeBase {
71
- readonly _jsDocTypeBrand: any;
72
63
  }
73
64
  export interface DeclarationBase extends Node {
74
- readonly _declarationBrand: any;
75
65
  }
76
66
  export interface ModifiersBase extends Node {
77
- readonly modifiers?: ModifierList<ModifierLike>;
67
+ readonly modifiers?: ModifierList<ModifierLike> | undefined;
78
68
  readonly modifierFlags: ModifierFlags;
79
69
  }
80
70
  export interface FunctionLikeBase extends DeclarationBase {
81
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
71
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
82
72
  readonly parameters: NodeList<ParameterDeclaration>;
83
- readonly type?: TypeNode;
84
- readonly fullSignature?: TypeNode;
73
+ readonly type?: TypeNode | undefined;
74
+ readonly fullSignature?: TypeNode | undefined;
85
75
  }
86
76
  export interface BodyBase extends Node {
87
- readonly asteriskToken?: AsteriskToken;
88
- readonly body?: NodeBody;
77
+ readonly asteriskToken?: AsteriskToken | undefined;
78
+ readonly body?: NodeBody | undefined;
89
79
  }
90
80
  export interface FunctionLikeWithBodyBase extends FunctionLikeBase, BodyBase {
91
- readonly _functionLikeDeclarationBrand: any;
92
- readonly body?: BlockOrExpression;
81
+ readonly body?: BlockOrExpression | undefined;
93
82
  }
94
83
  export interface ClassLikeBase extends DeclarationBase, ModifiersBase {
95
- readonly name?: Identifier;
96
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
97
- readonly heritageClauses?: NodeList<HeritageClause>;
84
+ readonly name?: Identifier | undefined;
85
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
86
+ readonly heritageClauses?: NodeList<HeritageClause> | undefined;
98
87
  readonly members: NodeList<ClassElement>;
99
88
  }
100
89
  export interface LiteralLikeNodeBase extends Node {
@@ -102,31 +91,27 @@ export interface LiteralLikeNodeBase extends Node {
102
91
  readonly tokenFlags: TokenFlags;
103
92
  }
104
93
  export interface LiteralExpressionBase extends LiteralLikeNodeBase, PrimaryExpressionBase {
105
- readonly _literalExpressionBrand: any;
106
94
  }
107
95
  export interface TemplateLiteralLikeNodeBase extends LiteralLikeNodeBase {
108
- readonly rawText: string;
96
+ readonly rawText?: string | undefined;
109
97
  readonly templateFlags: TokenFlags;
110
98
  }
111
99
  export interface TypeElementBase extends Node {
112
- readonly _typeElementBrand: any;
113
100
  }
114
101
  export interface ClassElementBase extends Node {
115
- readonly _classElementBrand: any;
116
102
  }
117
103
  export interface NamedMemberBase extends DeclarationBase, ModifiersBase {
118
104
  readonly name: PropertyName;
119
- readonly postfixToken?: QuestionToken | ExclamationToken;
105
+ readonly postfixToken?: QuestionToken | ExclamationToken | undefined;
120
106
  }
121
107
  export interface ObjectLiteralElementBase extends Node {
122
- readonly _objectLiteralBrand: any;
123
108
  }
124
109
  export interface UnionOrIntersectionTypeNodeBase extends TypeNodeBase {
125
110
  readonly types: NodeList<TypeNode>;
126
111
  }
127
112
  export interface JSDocTagBase extends NodeBase {
128
113
  readonly tagName: Identifier;
129
- readonly comment?: NodeList<JSDocComment>;
114
+ readonly comment?: NodeList<JSDocComment> | undefined;
130
115
  }
131
116
  export interface JSDocCommentBase extends NodeBase {
132
117
  readonly text: string;
@@ -162,7 +147,7 @@ export interface IfStatement extends StatementBase {
162
147
  readonly kind: SyntaxKind.IfStatement;
163
148
  readonly expression: Expression;
164
149
  readonly thenStatement: Statement;
165
- readonly elseStatement?: Statement;
150
+ readonly elseStatement?: Statement | undefined;
166
151
  }
167
152
  export interface DoStatement extends IterationStatementBase {
168
153
  readonly kind: SyntaxKind.DoStatement;
@@ -174,21 +159,21 @@ export interface WhileStatement extends IterationStatementBase {
174
159
  }
175
160
  export interface ForStatement extends IterationStatementBase {
176
161
  readonly kind: SyntaxKind.ForStatement;
177
- readonly initializer?: ForInitializer;
178
- readonly condition?: Expression;
179
- readonly incrementor?: Expression;
162
+ readonly initializer?: ForInitializer | undefined;
163
+ readonly condition?: Expression | undefined;
164
+ readonly incrementor?: Expression | undefined;
180
165
  }
181
166
  export interface BreakStatement extends StatementBase {
182
167
  readonly kind: SyntaxKind.BreakStatement;
183
- readonly label?: Identifier;
168
+ readonly label?: Identifier | undefined;
184
169
  }
185
170
  export interface ContinueStatement extends StatementBase {
186
171
  readonly kind: SyntaxKind.ContinueStatement;
187
- readonly label?: Identifier;
172
+ readonly label?: Identifier | undefined;
188
173
  }
189
174
  export interface ReturnStatement extends StatementBase {
190
175
  readonly kind: SyntaxKind.ReturnStatement;
191
- readonly expression?: Expression;
176
+ readonly expression?: Expression | undefined;
192
177
  }
193
178
  export interface WithStatement extends StatementBase {
194
179
  readonly kind: SyntaxKind.WithStatement;
@@ -211,12 +196,12 @@ export interface ThrowStatement extends StatementBase {
211
196
  export interface TryStatement extends StatementBase {
212
197
  readonly kind: SyntaxKind.TryStatement;
213
198
  readonly tryBlock: Block;
214
- readonly catchClause?: CatchClause;
215
- readonly finallyBlock?: Block;
199
+ readonly catchClause?: CatchClause | undefined;
200
+ readonly finallyBlock?: Block | undefined;
216
201
  }
217
202
  export interface CatchClause extends NodeBase {
218
203
  readonly kind: SyntaxKind.CatchClause;
219
- readonly variableDeclaration?: VariableDeclaration;
204
+ readonly variableDeclaration?: VariableDeclaration | undefined;
220
205
  readonly block: Block;
221
206
  }
222
207
  export interface DebuggerStatement extends StatementBase {
@@ -243,9 +228,9 @@ export interface VariableStatement extends StatementBase, ModifiersBase {
243
228
  export interface VariableDeclaration extends NodeBase, DeclarationBase {
244
229
  readonly kind: SyntaxKind.VariableDeclaration;
245
230
  readonly name: BindingName;
246
- readonly exclamationToken?: ExclamationToken;
247
- readonly type?: TypeNode;
248
- readonly initializer?: Expression;
231
+ readonly exclamationToken?: ExclamationToken | undefined;
232
+ readonly type?: TypeNode | undefined;
233
+ readonly initializer?: Expression | undefined;
249
234
  }
250
235
  export interface VariableDeclarationList extends NodeBase {
251
236
  readonly kind: SyntaxKind.VariableDeclarationList;
@@ -253,26 +238,26 @@ export interface VariableDeclarationList extends NodeBase {
253
238
  }
254
239
  export interface ParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
255
240
  readonly kind: SyntaxKind.Parameter;
256
- readonly dotDotDotToken?: DotDotDotToken;
241
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
257
242
  readonly name: BindingName;
258
- readonly questionToken?: QuestionToken;
259
- readonly type?: TypeNode;
260
- readonly initializer?: Expression;
243
+ readonly questionToken?: QuestionToken | undefined;
244
+ readonly type?: TypeNode | undefined;
245
+ readonly initializer?: Expression | undefined;
261
246
  }
262
247
  export interface BindingElement extends NodeBase, DeclarationBase {
263
248
  readonly kind: SyntaxKind.BindingElement;
264
- readonly dotDotDotToken?: DotDotDotToken;
265
- readonly propertyName?: PropertyName;
266
- readonly name?: BindingName;
267
- readonly initializer?: Expression;
249
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
250
+ readonly propertyName?: PropertyName | undefined;
251
+ readonly name?: BindingName | undefined;
252
+ readonly initializer?: Expression | undefined;
268
253
  }
269
254
  export interface MissingDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
270
255
  readonly kind: SyntaxKind.MissingDeclaration;
271
256
  }
272
257
  export interface FunctionDeclaration extends DeclarationBase, StatementBase, ModifiersBase, FunctionLikeWithBodyBase {
273
258
  readonly kind: SyntaxKind.FunctionDeclaration;
274
- readonly name?: Identifier;
275
- readonly body?: FunctionBody;
259
+ readonly name?: Identifier | undefined;
260
+ readonly body?: FunctionBody | undefined;
276
261
  }
277
262
  export interface ClassDeclaration extends DeclarationBase, StatementBase, ClassLikeBase {
278
263
  readonly kind: SyntaxKind.ClassDeclaration;
@@ -288,19 +273,19 @@ export interface HeritageClause extends NodeBase {
288
273
  export interface InterfaceDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
289
274
  readonly kind: SyntaxKind.InterfaceDeclaration;
290
275
  readonly name: Identifier;
291
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
292
- readonly heritageClauses?: NodeList<HeritageClause>;
276
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
277
+ readonly heritageClauses?: NodeList<HeritageClause> | undefined;
293
278
  readonly members: NodeList<TypeElement>;
294
279
  }
295
280
  export interface TypeAliasDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
296
281
  readonly kind: SyntaxKind.TypeAliasDeclaration;
297
282
  readonly name: Identifier;
298
- readonly typeParameters?: NodeList<TypeParameterDeclaration>;
283
+ readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
299
284
  readonly type: TypeNode;
300
285
  }
301
286
  export interface EnumMember extends NodeBase, NamedMemberBase {
302
287
  readonly kind: SyntaxKind.EnumMember;
303
- readonly initializer?: Expression;
288
+ readonly initializer?: Expression | undefined;
304
289
  }
305
290
  export interface EnumDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
306
291
  readonly kind: SyntaxKind.EnumDeclaration;
@@ -319,9 +304,9 @@ export interface NotEmittedTypeElement extends NodeBase, TypeElementBase {
319
304
  }
320
305
  export interface ImportDeclaration extends StatementBase, ModifiersBase, DeclarationBase {
321
306
  readonly kind: SyntaxKind.ImportDeclaration;
322
- readonly importClause?: ImportClause;
307
+ readonly importClause?: ImportClause | undefined;
323
308
  readonly moduleSpecifier: Expression;
324
- readonly attributes?: ImportAttributes;
309
+ readonly attributes?: ImportAttributes | undefined;
325
310
  }
326
311
  export interface ExternalModuleReference extends NodeBase {
327
312
  readonly kind: SyntaxKind.ExternalModuleReference;
@@ -338,7 +323,7 @@ export interface NamedImports extends NodeBase {
338
323
  export interface ExportAssignment extends DeclarationBase, StatementBase, ModifiersBase {
339
324
  readonly kind: SyntaxKind.ExportAssignment;
340
325
  readonly isExportEquals: boolean;
341
- readonly type?: TypeNode;
326
+ readonly type?: TypeNode | undefined;
342
327
  readonly expression: Expression;
343
328
  }
344
329
  export interface NamespaceExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
@@ -356,7 +341,7 @@ export interface NamedExports extends NodeBase {
356
341
  export interface ExportSpecifier extends NodeBase, DeclarationBase {
357
342
  readonly kind: SyntaxKind.ExportSpecifier;
358
343
  readonly isTypeOnly: boolean;
359
- readonly propertyName?: ModuleExportName;
344
+ readonly propertyName?: ModuleExportName | undefined;
360
345
  readonly name: ModuleExportName;
361
346
  }
362
347
  export interface CallSignatureDeclaration extends NodeBase, DeclarationBase, FunctionLikeBase, TypeElementBase {
@@ -367,36 +352,36 @@ export interface ConstructSignatureDeclaration extends NodeBase, DeclarationBase
367
352
  }
368
353
  export interface ConstructorDeclaration extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase, ClassElementBase {
369
354
  readonly kind: SyntaxKind.Constructor;
370
- readonly body?: FunctionBody;
355
+ readonly body?: FunctionBody | undefined;
371
356
  }
372
357
  export interface GetAccessorDeclaration extends NamedMemberBase, FunctionLikeWithBodyBase, TypeElementBase, ClassElementBase, ObjectLiteralElementBase, NodeBase {
373
358
  readonly kind: SyntaxKind.GetAccessor;
374
- readonly body?: FunctionBody;
359
+ readonly body?: FunctionBody | undefined;
375
360
  }
376
361
  export interface SetAccessorDeclaration extends NamedMemberBase, FunctionLikeWithBodyBase, TypeElementBase, ClassElementBase, ObjectLiteralElementBase, NodeBase {
377
362
  readonly kind: SyntaxKind.SetAccessor;
378
- readonly body?: FunctionBody;
363
+ readonly body?: FunctionBody | undefined;
379
364
  }
380
365
  export interface IndexSignatureDeclaration extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeBase, TypeElementBase, ClassElementBase {
381
366
  readonly kind: SyntaxKind.IndexSignature;
382
- readonly type?: TypeNode;
367
+ readonly type?: TypeNode | undefined;
383
368
  }
384
369
  export interface MethodSignatureDeclaration extends NodeBase, NamedMemberBase, FunctionLikeBase, TypeElementBase {
385
370
  readonly kind: SyntaxKind.MethodSignature;
386
371
  }
387
372
  export interface MethodDeclaration extends NodeBase, NamedMemberBase, FunctionLikeWithBodyBase, ClassElementBase, ObjectLiteralElementBase {
388
373
  readonly kind: SyntaxKind.MethodDeclaration;
389
- readonly body?: FunctionBody;
374
+ readonly body?: FunctionBody | undefined;
390
375
  }
391
376
  export interface PropertySignatureDeclaration extends NodeBase, NamedMemberBase, TypeElementBase {
392
377
  readonly kind: SyntaxKind.PropertySignature;
393
- readonly type?: TypeNode;
394
- readonly initializer?: Expression;
378
+ readonly type?: TypeNode | undefined;
379
+ readonly initializer?: Expression | undefined;
395
380
  }
396
381
  export interface PropertyDeclaration extends NodeBase, NamedMemberBase, ClassElementBase {
397
382
  readonly kind: SyntaxKind.PropertyDeclaration;
398
- readonly type?: TypeNode;
399
- readonly initializer?: Expression;
383
+ readonly type?: TypeNode | undefined;
384
+ readonly initializer?: Expression | undefined;
400
385
  }
401
386
  export interface SemicolonClassElement extends NodeBase, DeclarationBase, ClassElementBase {
402
387
  readonly kind: SyntaxKind.SemicolonClassElement;
@@ -429,7 +414,7 @@ export interface NoSubstitutionTemplateLiteral extends ExpressionBase, TemplateL
429
414
  export interface BinaryExpression extends ExpressionBase, DeclarationBase, ModifiersBase {
430
415
  readonly kind: SyntaxKind.BinaryExpression;
431
416
  readonly left: Expression;
432
- readonly type?: TypeNode;
417
+ readonly type?: TypeNode | undefined;
433
418
  readonly operatorToken: BinaryOperatorToken;
434
419
  readonly right: Expression;
435
420
  }
@@ -445,17 +430,17 @@ export interface PostfixUnaryExpression extends UpdateExpressionBase {
445
430
  }
446
431
  export interface YieldExpression extends ExpressionBase {
447
432
  readonly kind: SyntaxKind.YieldExpression;
448
- readonly asteriskToken?: AsteriskToken;
449
- readonly expression?: Expression;
433
+ readonly asteriskToken?: AsteriskToken | undefined;
434
+ readonly expression?: Expression | undefined;
450
435
  }
451
436
  export interface ArrowFunction extends ExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
452
437
  readonly kind: SyntaxKind.ArrowFunction;
453
- readonly equalsGreaterThanToken?: EqualsGreaterThanToken;
438
+ readonly equalsGreaterThanToken?: EqualsGreaterThanToken | undefined;
454
439
  readonly body: ConciseBody;
455
440
  }
456
441
  export interface FunctionExpression extends PrimaryExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
457
442
  readonly kind: SyntaxKind.FunctionExpression;
458
- readonly name?: Identifier;
443
+ readonly name?: Identifier | undefined;
459
444
  readonly body: FunctionBody;
460
445
  }
461
446
  export interface AsExpression extends ExpressionBase {
@@ -479,27 +464,27 @@ export interface ConditionalExpression extends ExpressionBase {
479
464
  export interface PropertyAccessExpression extends MemberExpressionBase {
480
465
  readonly kind: SyntaxKind.PropertyAccessExpression;
481
466
  readonly expression: Expression;
482
- readonly questionDotToken?: QuestionDotToken;
467
+ readonly questionDotToken?: QuestionDotToken | undefined;
483
468
  readonly name: MemberName;
484
469
  }
485
470
  export interface ElementAccessExpression extends MemberExpressionBase {
486
471
  readonly kind: SyntaxKind.ElementAccessExpression;
487
472
  readonly expression: Expression;
488
- readonly questionDotToken?: QuestionDotToken;
473
+ readonly questionDotToken?: QuestionDotToken | undefined;
489
474
  readonly argumentExpression: Expression;
490
475
  }
491
476
  export interface CallExpression extends LeftHandSideExpressionBase, DeclarationBase {
492
477
  readonly kind: SyntaxKind.CallExpression;
493
478
  readonly expression: Expression;
494
- readonly questionDotToken?: QuestionDotToken;
495
- readonly typeArguments?: NodeList<TypeNode>;
479
+ readonly questionDotToken?: QuestionDotToken | undefined;
480
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
496
481
  readonly arguments: NodeList<Expression>;
497
482
  }
498
483
  export interface NewExpression extends PrimaryExpressionBase {
499
484
  readonly kind: SyntaxKind.NewExpression;
500
485
  readonly expression: Expression;
501
- readonly typeArguments?: NodeList<TypeNode>;
502
- readonly arguments?: NodeList<Expression>;
486
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
487
+ readonly arguments?: NodeList<Expression> | undefined;
503
488
  }
504
489
  export interface MetaProperty extends PrimaryExpressionBase {
505
490
  readonly kind: SyntaxKind.MetaProperty;
@@ -527,8 +512,8 @@ export interface TemplateSpan extends NodeBase {
527
512
  export interface TaggedTemplateExpression extends MemberExpressionBase {
528
513
  readonly kind: SyntaxKind.TaggedTemplateExpression;
529
514
  readonly tag: Expression;
530
- readonly questionDotToken?: QuestionDotToken;
531
- readonly typeArguments?: NodeList<TypeNode>;
515
+ readonly questionDotToken?: QuestionDotToken | undefined;
516
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
532
517
  readonly template: TemplateLiteral;
533
518
  }
534
519
  export interface ParenthesizedExpression extends PrimaryExpressionBase {
@@ -551,14 +536,14 @@ export interface SpreadAssignment extends NodeBase, DeclarationBase, ObjectLiter
551
536
  }
552
537
  export interface PropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
553
538
  readonly kind: SyntaxKind.PropertyAssignment;
554
- readonly type?: TypeNode;
539
+ readonly type?: TypeNode | undefined;
555
540
  readonly initializer: Expression;
556
541
  }
557
542
  export interface ShorthandPropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
558
543
  readonly kind: SyntaxKind.ShorthandPropertyAssignment;
559
- readonly type?: TypeNode;
560
- readonly equalsToken?: EqualsToken;
561
- readonly objectAssignmentInitializer?: Expression;
544
+ readonly type?: TypeNode | undefined;
545
+ readonly equalsToken?: EqualsToken | undefined;
546
+ readonly objectAssignmentInitializer?: Expression | undefined;
562
547
  }
563
548
  export interface DeleteExpression extends UnaryExpressionBase {
564
549
  readonly kind: SyntaxKind.DeleteExpression;
@@ -622,7 +607,7 @@ export interface TypeReferenceNode extends NodeWithTypeArgumentsBase {
622
607
  export interface ExpressionWithTypeArguments extends MemberExpressionBase {
623
608
  readonly kind: SyntaxKind.ExpressionWithTypeArguments;
624
609
  readonly expression: Expression;
625
- readonly typeArguments?: NodeList<TypeNode>;
610
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
626
611
  }
627
612
  export interface LiteralTypeNode extends TypeNodeBase {
628
613
  readonly kind: SyntaxKind.LiteralType;
@@ -633,13 +618,13 @@ export interface ThisTypeNode extends TypeNodeBase {
633
618
  }
634
619
  export interface TypePredicateNode extends TypeNodeBase {
635
620
  readonly kind: SyntaxKind.TypePredicate;
636
- readonly assertsModifier?: AssertsKeyword;
621
+ readonly assertsModifier?: AssertsKeyword | undefined;
637
622
  readonly parameterName: TypePredicateParameterName;
638
- readonly type?: TypeNode;
623
+ readonly type?: TypeNode | undefined;
639
624
  }
640
625
  export interface ImportAttribute extends NodeBase {
641
626
  readonly kind: SyntaxKind.ImportAttribute;
642
- readonly name?: ImportAttributeName;
627
+ readonly name?: ImportAttributeName | undefined;
643
628
  readonly value: Expression;
644
629
  }
645
630
  export interface ImportAttributes extends NodeBase {
@@ -654,12 +639,12 @@ export interface TypeQueryNode extends NodeWithTypeArgumentsBase {
654
639
  }
655
640
  export interface MappedTypeNode extends TypeNodeBase, DeclarationBase {
656
641
  readonly kind: SyntaxKind.MappedType;
657
- readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
642
+ readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken | undefined;
658
643
  readonly typeParameter: TypeParameterDeclaration;
659
- readonly nameType?: TypeNode;
660
- readonly questionToken?: QuestionToken | PlusToken | MinusToken;
661
- readonly type?: TypeNode;
662
- readonly members?: NodeList<TypeElement>;
644
+ readonly nameType?: TypeNode | undefined;
645
+ readonly questionToken?: QuestionToken | PlusToken | MinusToken | undefined;
646
+ readonly type?: TypeNode | undefined;
647
+ readonly members?: NodeList<TypeElement> | undefined;
663
648
  }
664
649
  export interface TypeLiteralNode extends TypeNodeBase, DeclarationBase {
665
650
  readonly kind: SyntaxKind.TypeLiteral;
@@ -671,9 +656,9 @@ export interface TupleTypeNode extends TypeNodeBase {
671
656
  }
672
657
  export interface NamedTupleMember extends TypeNodeBase, DeclarationBase {
673
658
  readonly kind: SyntaxKind.NamedTupleMember;
674
- readonly dotDotDotToken?: DotDotDotToken;
659
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
675
660
  readonly name: Identifier;
676
- readonly questionToken?: QuestionToken;
661
+ readonly questionToken?: QuestionToken | undefined;
677
662
  readonly type: TypeNode;
678
663
  }
679
664
  export interface OptionalTypeNode extends TypeNodeBase {
@@ -696,12 +681,15 @@ export interface ConstructorTypeNode extends TypeNodeBase, ModifiersBase, Functi
696
681
  }
697
682
  export interface TemplateHead extends NodeBase, TemplateLiteralLikeNodeBase {
698
683
  readonly kind: SyntaxKind.TemplateHead;
684
+ readonly rawText: string;
699
685
  }
700
686
  export interface TemplateMiddle extends NodeBase, TemplateLiteralLikeNodeBase {
701
687
  readonly kind: SyntaxKind.TemplateMiddle;
688
+ readonly rawText: string;
702
689
  }
703
690
  export interface TemplateTail extends NodeBase, TemplateLiteralLikeNodeBase {
704
691
  readonly kind: SyntaxKind.TemplateTail;
692
+ readonly rawText: string;
705
693
  }
706
694
  export interface TemplateLiteralTypeNode extends TypeNodeBase {
707
695
  readonly kind: SyntaxKind.TemplateLiteralType;
@@ -717,7 +705,7 @@ export interface SyntheticExpression extends ExpressionBase {
717
705
  readonly kind: SyntaxKind.SyntheticExpression;
718
706
  readonly type: any;
719
707
  readonly isSpread: boolean;
720
- readonly tupleNameSource?: Node;
708
+ readonly tupleNameSource?: Node | undefined;
721
709
  }
722
710
  export interface PartiallyEmittedExpression extends LeftHandSideExpressionBase {
723
711
  readonly kind: SyntaxKind.PartiallyEmittedExpression;
@@ -741,13 +729,13 @@ export interface JsxNamespacedName extends ExpressionBase {
741
729
  export interface JsxOpeningElement extends ExpressionBase {
742
730
  readonly kind: SyntaxKind.JsxOpeningElement;
743
731
  readonly tagName: JsxTagNameExpression;
744
- readonly typeArguments?: NodeList<TypeNode>;
732
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
745
733
  readonly attributes: JsxAttributes;
746
734
  }
747
735
  export interface JsxSelfClosingElement extends PrimaryExpressionBase {
748
736
  readonly kind: SyntaxKind.JsxSelfClosingElement;
749
737
  readonly tagName: JsxTagNameExpression;
750
- readonly typeArguments?: NodeList<TypeNode>;
738
+ readonly typeArguments?: NodeList<TypeNode> | undefined;
751
739
  readonly attributes: JsxAttributes;
752
740
  }
753
741
  export interface JsxFragment extends PrimaryExpressionBase {
@@ -765,7 +753,7 @@ export interface JsxClosingFragment extends ExpressionBase {
765
753
  export interface JsxAttribute extends NodeBase, DeclarationBase {
766
754
  readonly kind: SyntaxKind.JsxAttribute;
767
755
  readonly name: JsxAttributeName;
768
- readonly initializer?: JsxAttributeValue;
756
+ readonly initializer?: JsxAttributeValue | undefined;
769
757
  }
770
758
  export interface JsxSpreadAttribute extends ObjectLiteralElementBase, NodeBase {
771
759
  readonly kind: SyntaxKind.JsxSpreadAttribute;
@@ -777,8 +765,8 @@ export interface JsxClosingElement extends NodeBase {
777
765
  }
778
766
  export interface JsxExpression extends ExpressionBase {
779
767
  readonly kind: SyntaxKind.JsxExpression;
780
- readonly dotDotDotToken?: DotDotDotToken;
781
- readonly expression?: Expression;
768
+ readonly dotDotDotToken?: DotDotDotToken | undefined;
769
+ readonly expression?: Expression | undefined;
782
770
  }
783
771
  export interface JsxText extends ExpressionBase, LiteralLikeNodeBase {
784
772
  readonly kind: SyntaxKind.JsxText;
@@ -791,7 +779,7 @@ export interface SyntaxList extends NodeBase {
791
779
  export interface JSDoc extends NodeBase {
792
780
  readonly kind: SyntaxKind.JSDoc;
793
781
  readonly comment: NodeList<JSDocComment>;
794
- readonly tags?: NodeList<JSDocTag>;
782
+ readonly tags?: NodeList<JSDocTag> | undefined;
795
783
  }
796
784
  export interface JSDocTypeExpression extends TypeNodeBase {
797
785
  readonly kind: SyntaxKind.JSDocTypeExpression;
@@ -818,19 +806,19 @@ export interface JSDocOptionalType extends JSDocTypeBase {
818
806
  }
819
807
  export interface JSDocTypeTag extends JSDocTagBase {
820
808
  readonly kind: SyntaxKind.JSDocTypeTag;
821
- readonly typeExpression?: Node;
809
+ readonly typeExpression: Node;
822
810
  }
823
811
  export interface JSDocUnknownTag extends JSDocTagBase {
824
812
  readonly kind: SyntaxKind.JSDocUnknownTag;
825
813
  }
826
814
  export interface JSDocTemplateTag extends JSDocTagBase {
827
815
  readonly kind: SyntaxKind.JSDocTemplateTag;
828
- readonly constraint?: Node;
816
+ readonly constraint?: Node | undefined;
829
817
  readonly typeParameters: NodeList<TypeParameterDeclaration>;
830
818
  }
831
819
  export interface JSDocReturnTag extends JSDocTagBase {
832
820
  readonly kind: SyntaxKind.JSDocReturnTag;
833
- readonly typeExpression?: TypeNode;
821
+ readonly typeExpression?: TypeNode | undefined;
834
822
  }
835
823
  export interface JSDocPublicTag extends JSDocTagBase {
836
824
  readonly kind: SyntaxKind.JSDocPublicTag;
@@ -852,7 +840,7 @@ export interface JSDocDeprecatedTag extends JSDocTagBase {
852
840
  }
853
841
  export interface JSDocSeeTag extends JSDocTagBase {
854
842
  readonly kind: SyntaxKind.JSDocSeeTag;
855
- readonly nameExpression?: TypeNode;
843
+ readonly nameExpression?: TypeNode | undefined;
856
844
  }
857
845
  export interface JSDocImplementsTag extends JSDocTagBase {
858
846
  readonly kind: SyntaxKind.JSDocImplementsTag;
@@ -868,7 +856,7 @@ export interface JSDocSatisfiesTag extends JSDocTagBase {
868
856
  }
869
857
  export interface JSDocThrowsTag extends JSDocTagBase {
870
858
  readonly kind: SyntaxKind.JSDocThrowsTag;
871
- readonly typeExpression?: TypeNode;
859
+ readonly typeExpression?: TypeNode | undefined;
872
860
  }
873
861
  export interface JSDocThisTag extends JSDocTagBase {
874
862
  readonly kind: SyntaxKind.JSDocThisTag;
@@ -876,14 +864,14 @@ export interface JSDocThisTag extends JSDocTagBase {
876
864
  }
877
865
  export interface JSDocImportTag extends JSDocTagBase {
878
866
  readonly kind: SyntaxKind.JSDocImportTag;
879
- readonly importClause?: ImportClause;
867
+ readonly importClause?: ImportClause | undefined;
880
868
  readonly moduleSpecifier: Expression;
881
- readonly attributes?: ImportAttributes;
869
+ readonly attributes?: ImportAttributes | undefined;
882
870
  }
883
871
  export interface JSDocCallbackTag extends JSDocTagBase {
884
872
  readonly kind: SyntaxKind.JSDocCallbackTag;
885
873
  readonly typeExpression: TypeNode;
886
- readonly name?: JSDocFullName;
874
+ readonly name?: JSDocFullName | undefined;
887
875
  }
888
876
  export interface JSDocOverloadTag extends JSDocTagBase {
889
877
  readonly kind: SyntaxKind.JSDocOverloadTag;
@@ -891,21 +879,21 @@ export interface JSDocOverloadTag extends JSDocTagBase {
891
879
  }
892
880
  export interface JSDocTypedefTag extends JSDocTagBase {
893
881
  readonly kind: SyntaxKind.JSDocTypedefTag;
894
- readonly typeExpression?: Node;
895
- readonly name?: JSDocFullName;
882
+ readonly typeExpression?: Node | undefined;
883
+ readonly name?: JSDocFullName | undefined;
896
884
  }
897
885
  export interface JSDocSignature extends JSDocTypeBase, FunctionLikeBase {
898
886
  readonly kind: SyntaxKind.JSDocSignature;
899
887
  }
900
888
  export interface JSDocNameReference extends TypeNodeBase {
901
889
  readonly kind: SyntaxKind.JSDocNameReference;
902
- readonly name?: EntityName;
890
+ readonly name?: EntityName | undefined;
903
891
  }
904
892
  export interface ModuleDeclaration extends DeclarationBase, StatementBase, ModifiersBase, BodyBase {
905
893
  readonly kind: SyntaxKind.ModuleDeclaration;
906
- readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword;
894
+ readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.GlobalKeyword;
907
895
  readonly name: ModuleName;
908
- readonly body?: ModuleBody;
896
+ readonly body?: ModuleBody | undefined;
909
897
  }
910
898
  export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
911
899
  readonly kind: SyntaxKind.ImportEqualsDeclaration;
@@ -916,27 +904,27 @@ export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase,
916
904
  export interface ExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
917
905
  readonly kind: SyntaxKind.ExportDeclaration;
918
906
  readonly isTypeOnly: boolean;
919
- readonly exportClause?: NamedExportBindings;
920
- readonly moduleSpecifier?: Expression;
921
- readonly attributes?: ImportAttributes;
907
+ readonly exportClause?: NamedExportBindings | undefined;
908
+ readonly moduleSpecifier?: Expression | undefined;
909
+ readonly attributes?: ImportAttributes | undefined;
922
910
  }
923
911
  export interface ImportTypeNode extends NodeWithTypeArgumentsBase {
924
912
  readonly kind: SyntaxKind.ImportType;
925
913
  readonly isTypeOf: boolean;
926
914
  readonly argument: TypeNode;
927
- readonly attributes?: ImportAttributes;
928
- readonly qualifier?: EntityName;
915
+ readonly attributes?: ImportAttributes | undefined;
916
+ readonly qualifier?: EntityName | undefined;
929
917
  }
930
918
  export interface ImportClause extends NodeBase, DeclarationBase {
931
919
  readonly kind: SyntaxKind.ImportClause;
932
- readonly phaseModifier?: ImportPhaseModifierSyntaxKind;
933
- readonly name?: Identifier;
934
- readonly namedBindings?: NamedImportBindings;
920
+ readonly phaseModifier?: ImportPhaseModifierSyntaxKind | undefined;
921
+ readonly name?: Identifier | undefined;
922
+ readonly namedBindings?: NamedImportBindings | undefined;
935
923
  }
936
924
  export interface ImportSpecifier extends NodeBase, DeclarationBase {
937
925
  readonly kind: SyntaxKind.ImportSpecifier;
938
926
  readonly isTypeOnly: boolean;
939
- readonly propertyName?: ModuleExportName;
927
+ readonly propertyName?: ModuleExportName | undefined;
940
928
  readonly name: Identifier;
941
929
  }
942
930
  export interface JSDocText extends JSDocCommentBase {
@@ -944,22 +932,22 @@ export interface JSDocText extends JSDocCommentBase {
944
932
  }
945
933
  export interface JSDocLink extends JSDocCommentBase {
946
934
  readonly kind: SyntaxKind.JSDocLink;
947
- readonly name?: EntityName;
935
+ readonly name?: EntityName | undefined;
948
936
  }
949
937
  export interface JSDocLinkPlain extends JSDocCommentBase {
950
938
  readonly kind: SyntaxKind.JSDocLinkPlain;
951
- readonly name?: EntityName;
939
+ readonly name?: EntityName | undefined;
952
940
  }
953
941
  export interface JSDocLinkCode extends JSDocCommentBase {
954
942
  readonly kind: SyntaxKind.JSDocLinkCode;
955
- readonly name?: EntityName;
943
+ readonly name?: EntityName | undefined;
956
944
  }
957
945
  export interface TypeParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
958
946
  readonly kind: SyntaxKind.TypeParameter;
959
947
  readonly name: Identifier;
960
- readonly constraint?: TypeNode;
961
- readonly expression?: Expression;
962
- readonly defaultType?: TypeNode;
948
+ readonly constraint?: TypeNode | undefined;
949
+ readonly expression?: Expression | undefined;
950
+ readonly defaultType?: TypeNode | undefined;
963
951
  }
964
952
  export interface SyntheticReferenceExpression extends ExpressionBase {
965
953
  readonly kind: SyntaxKind.SyntheticReferenceExpression;
@@ -968,7 +956,7 @@ export interface SyntheticReferenceExpression extends ExpressionBase {
968
956
  }
969
957
  export interface JSDocTypeLiteral extends JSDocTypeBase, DeclarationBase {
970
958
  readonly kind: SyntaxKind.JSDocTypeLiteral;
971
- readonly jsdocPropertyTags?: readonly JSDocTag[];
959
+ readonly jsdocPropertyTags?: readonly JSDocTag[] | undefined;
972
960
  readonly isArrayType: boolean;
973
961
  }
974
962
  export type Expression = ExpressionBase;
@@ -1045,26 +1033,26 @@ export type FunctionBody = Block;
1045
1033
  export type IncrementExpression = UpdateExpressionBase;
1046
1034
  export interface ForInStatement extends StatementBase {
1047
1035
  readonly kind: SyntaxKind.ForInStatement;
1048
- readonly awaitModifier?: AwaitKeyword;
1036
+ readonly awaitModifier?: AwaitKeyword | undefined;
1049
1037
  readonly initializer: ForInitializer;
1050
1038
  readonly expression: Expression;
1051
1039
  readonly statement: Statement;
1052
1040
  }
1053
1041
  export interface ForOfStatement extends StatementBase {
1054
1042
  readonly kind: SyntaxKind.ForOfStatement;
1055
- readonly awaitModifier?: AwaitKeyword;
1043
+ readonly awaitModifier?: AwaitKeyword | undefined;
1056
1044
  readonly initializer: ForInitializer;
1057
1045
  readonly expression: Expression;
1058
1046
  readonly statement: Statement;
1059
1047
  }
1060
1048
  export interface CaseClause extends NodeBase {
1061
1049
  readonly kind: SyntaxKind.CaseClause;
1062
- readonly expression?: Expression;
1050
+ readonly expression: Expression;
1063
1051
  readonly statements: NodeList<Statement>;
1064
1052
  }
1065
1053
  export interface DefaultClause extends NodeBase {
1066
1054
  readonly kind: SyntaxKind.DefaultClause;
1067
- readonly expression?: Expression;
1055
+ readonly expression?: undefined;
1068
1056
  readonly statements: NodeList<Statement>;
1069
1057
  }
1070
1058
  export interface ObjectBindingPattern extends NodeBase {
@@ -1079,14 +1067,14 @@ export interface JSDocParameterTag extends JSDocTagBase {
1079
1067
  readonly kind: SyntaxKind.JSDocParameterTag;
1080
1068
  readonly name: EntityName;
1081
1069
  readonly isBracketed: boolean;
1082
- readonly typeExpression?: TypeNode;
1070
+ readonly typeExpression?: TypeNode | undefined;
1083
1071
  readonly isNameFirst: boolean;
1084
1072
  }
1085
1073
  export interface JSDocPropertyTag extends JSDocTagBase {
1086
1074
  readonly kind: SyntaxKind.JSDocPropertyTag;
1087
1075
  readonly name: EntityName;
1088
1076
  readonly isBracketed: boolean;
1089
- readonly typeExpression?: TypeNode;
1077
+ readonly typeExpression?: TypeNode | undefined;
1090
1078
  readonly isNameFirst: boolean;
1091
1079
  }
1092
1080
  export type ForInOrOfStatement = ForInStatement | ForOfStatement;