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.
- package/README.md +34 -2
- package/dist/api/compiler/ast-utilities.d.ts +82 -0
- package/dist/api/compiler/ast-utilities.js +462 -0
- package/dist/api/compiler/ast.d.ts +2351 -0
- package/dist/api/compiler/ast.js +11212 -0
- package/dist/api/compiler/astnav.d.ts +37 -0
- package/dist/api/compiler/astnav.js +767 -0
- package/dist/api/compiler/binder-utilities.d.ts +182 -0
- package/dist/api/compiler/binder-utilities.js +1241 -0
- package/dist/api/compiler/binder.d.ts +33 -0
- package/dist/api/compiler/binder.js +2359 -0
- package/dist/api/compiler/character-codes.d.ts +161 -0
- package/dist/api/compiler/character-codes.js +160 -0
- package/dist/api/compiler/checker-calls.d.ts +46 -0
- package/dist/api/compiler/checker-calls.js +1641 -0
- package/dist/api/compiler/checker-classes.d.ts +30 -0
- package/dist/api/compiler/checker-classes.js +582 -0
- package/dist/api/compiler/checker-contextual.d.ts +77 -0
- package/dist/api/compiler/checker-contextual.js +1136 -0
- package/dist/api/compiler/checker-declaration-order.d.ts +12 -0
- package/dist/api/compiler/checker-declaration-order.js +357 -0
- package/dist/api/compiler/checker-declarations.d.ts +33 -0
- package/dist/api/compiler/checker-declarations.js +888 -0
- package/dist/api/compiler/checker-declared-types.d.ts +48 -0
- package/dist/api/compiler/checker-declared-types.js +788 -0
- package/dist/api/compiler/checker-decorators.d.ts +26 -0
- package/dist/api/compiler/checker-decorators.js +562 -0
- package/dist/api/compiler/checker-deprecation.d.ts +33 -0
- package/dist/api/compiler/checker-deprecation.js +314 -0
- package/dist/api/compiler/checker-destructuring.d.ts +34 -0
- package/dist/api/compiler/checker-destructuring.js +584 -0
- package/dist/api/compiler/checker-elaboration.d.ts +15 -0
- package/dist/api/compiler/checker-elaboration.js +291 -0
- package/dist/api/compiler/checker-emit-helpers.d.ts +58 -0
- package/dist/api/compiler/checker-emit-helpers.js +154 -0
- package/dist/api/compiler/checker-emit-resolver.d.ts +75 -0
- package/dist/api/compiler/checker-emit-resolver.js +580 -0
- package/dist/api/compiler/checker-evaluator.d.ts +27 -0
- package/dist/api/compiler/checker-evaluator.js +188 -0
- package/dist/api/compiler/checker-expressions.d.ts +67 -0
- package/dist/api/compiler/checker-expressions.js +1351 -0
- package/dist/api/compiler/checker-features.d.ts +6 -0
- package/dist/api/compiler/checker-features.js +354 -0
- package/dist/api/compiler/checker-flow.d.ts +86 -0
- package/dist/api/compiler/checker-flow.js +169 -0
- package/dist/api/compiler/checker-functions.d.ts +43 -0
- package/dist/api/compiler/checker-functions.js +1002 -0
- package/dist/api/compiler/checker-generated-code.d.ts +25 -0
- package/dist/api/compiler/checker-generated-code.js +168 -0
- package/dist/api/compiler/checker-globals.d.ts +14 -0
- package/dist/api/compiler/checker-globals.js +37 -0
- package/dist/api/compiler/checker-grammar.d.ts +35 -0
- package/dist/api/compiler/checker-grammar.js +2587 -0
- package/dist/api/compiler/checker-heritage.d.ts +28 -0
- package/dist/api/compiler/checker-heritage.js +901 -0
- package/dist/api/compiler/checker-inference.d.ts +179 -0
- package/dist/api/compiler/checker-inference.js +2105 -0
- package/dist/api/compiler/checker-iteration.d.ts +115 -0
- package/dist/api/compiler/checker-iteration.js +857 -0
- package/dist/api/compiler/checker-javascript.d.ts +42 -0
- package/dist/api/compiler/checker-javascript.js +442 -0
- package/dist/api/compiler/checker-jsdoc.d.ts +30 -0
- package/dist/api/compiler/checker-jsdoc.js +320 -0
- package/dist/api/compiler/checker-jsx.d.ts +94 -0
- package/dist/api/compiler/checker-jsx.js +1433 -0
- package/dist/api/compiler/checker-literals.d.ts +6 -0
- package/dist/api/compiler/checker-literals.js +43 -0
- package/dist/api/compiler/checker-members.d.ts +200 -0
- package/dist/api/compiler/checker-members.js +2148 -0
- package/dist/api/compiler/checker-modules.d.ts +85 -0
- package/dist/api/compiler/checker-modules.js +2141 -0
- package/dist/api/compiler/checker-narrowing.d.ts +120 -0
- package/dist/api/compiler/checker-narrowing.js +2797 -0
- package/dist/api/compiler/checker-object-literals.d.ts +14 -0
- package/dist/api/compiler/checker-object-literals.js +483 -0
- package/dist/api/compiler/checker-operators.d.ts +33 -0
- package/dist/api/compiler/checker-operators.js +1040 -0
- package/dist/api/compiler/checker-overloads.d.ts +7 -0
- package/dist/api/compiler/checker-overloads.js +271 -0
- package/dist/api/compiler/checker-property-access.d.ts +34 -0
- package/dist/api/compiler/checker-property-access.js +672 -0
- package/dist/api/compiler/checker-services.d.ts +49 -0
- package/dist/api/compiler/checker-services.js +995 -0
- package/dist/api/compiler/checker-signatures.d.ts +55 -0
- package/dist/api/compiler/checker-signatures.js +789 -0
- package/dist/api/compiler/checker-source-file.d.ts +27 -0
- package/dist/api/compiler/checker-source-file.js +619 -0
- package/dist/api/compiler/checker-statements.d.ts +18 -0
- package/dist/api/compiler/checker-statements.js +226 -0
- package/dist/api/compiler/checker-super.d.ts +13 -0
- package/dist/api/compiler/checker-super.js +241 -0
- package/dist/api/compiler/checker-symbol-types.d.ts +51 -0
- package/dist/api/compiler/checker-symbol-types.js +955 -0
- package/dist/api/compiler/checker-symbols.d.ts +181 -0
- package/dist/api/compiler/checker-symbols.js +1784 -0
- package/dist/api/compiler/checker-type-factory.d.ts +142 -0
- package/dist/api/compiler/checker-type-factory.js +2542 -0
- package/dist/api/compiler/checker-type-nodes.d.ts +26 -0
- package/dist/api/compiler/checker-type-nodes.js +828 -0
- package/dist/api/compiler/checker-type-operators.d.ts +109 -0
- package/dist/api/compiler/checker-type-operators.js +1842 -0
- package/dist/api/compiler/checker-types.d.ts +1093 -0
- package/dist/api/compiler/checker-types.js +1874 -0
- package/dist/api/compiler/checker-unused.d.ts +19 -0
- package/dist/api/compiler/checker-unused.js +524 -0
- package/dist/api/compiler/checker-utilities.d.ts +33 -0
- package/dist/api/compiler/checker-utilities.js +141 -0
- package/dist/api/compiler/checker.d.ts +512 -0
- package/dist/api/compiler/checker.js +932 -0
- package/dist/api/compiler/command-line.d.ts +32 -0
- package/dist/api/compiler/command-line.js +383 -0
- package/dist/api/compiler/compile-program.d.ts +118 -0
- package/dist/api/compiler/compile-program.js +384 -0
- package/dist/api/compiler/diagnostic-locales.d.ts +22 -0
- package/dist/api/compiler/diagnostic-locales.js +64 -0
- package/dist/api/compiler/diagnostic-messages.d.ts +2166 -0
- package/dist/api/compiler/diagnostic-messages.js +184 -0
- package/dist/api/compiler/diagnostics.d.ts +161 -0
- package/dist/api/compiler/diagnostics.js +784 -0
- package/dist/api/compiler/emitter.d.ts +71 -0
- package/dist/api/compiler/emitter.js +327 -0
- package/dist/api/compiler/file-include.d.ts +144 -0
- package/dist/api/compiler/file-include.js +599 -0
- package/dist/api/compiler/file-loader.d.ts +290 -0
- package/dist/api/compiler/file-loader.js +1323 -0
- package/dist/api/compiler/file-system.d.ts +51 -0
- package/dist/api/compiler/file-system.js +132 -0
- package/dist/api/compiler/flow.d.ts +60 -0
- package/dist/api/compiler/flow.js +45 -0
- package/dist/api/compiler/instantiation.d.ts +74 -0
- package/dist/api/compiler/instantiation.js +835 -0
- package/dist/api/compiler/jsdoc.d.ts +75 -0
- package/dist/api/compiler/jsdoc.js +1229 -0
- package/dist/api/compiler/link-tables.d.ts +105 -0
- package/dist/api/compiler/link-tables.js +319 -0
- package/dist/api/compiler/locale-data.d.ts +24 -0
- package/dist/api/compiler/locale-data.js +183 -0
- package/dist/api/compiler/locale.d.ts +4 -0
- package/dist/api/compiler/locale.js +317 -0
- package/dist/api/compiler/locales/cs-CZ.d.ts +2 -0
- package/dist/api/compiler/locales/cs-CZ.js +3 -0
- package/dist/api/compiler/locales/de-DE.d.ts +2 -0
- package/dist/api/compiler/locales/de-DE.js +3 -0
- package/dist/api/compiler/locales/es-ES.d.ts +2 -0
- package/dist/api/compiler/locales/es-ES.js +3 -0
- package/dist/api/compiler/locales/fr-FR.d.ts +2 -0
- package/dist/api/compiler/locales/fr-FR.js +3 -0
- package/dist/api/compiler/locales/it-IT.d.ts +2 -0
- package/dist/api/compiler/locales/it-IT.js +3 -0
- package/dist/api/compiler/locales/ja-JP.d.ts +2 -0
- package/dist/api/compiler/locales/ja-JP.js +3 -0
- package/dist/api/compiler/locales/ko-KR.d.ts +2 -0
- package/dist/api/compiler/locales/ko-KR.js +3 -0
- package/dist/api/compiler/locales/pl-PL.d.ts +2 -0
- package/dist/api/compiler/locales/pl-PL.js +3 -0
- package/dist/api/compiler/locales/pt-BR.d.ts +2 -0
- package/dist/api/compiler/locales/pt-BR.js +3 -0
- package/dist/api/compiler/locales/ru-RU.d.ts +2 -0
- package/dist/api/compiler/locales/ru-RU.js +3 -0
- package/dist/api/compiler/locales/tr-TR.d.ts +2 -0
- package/dist/api/compiler/locales/tr-TR.js +3 -0
- package/dist/api/compiler/locales/zh-CN.d.ts +2 -0
- package/dist/api/compiler/locales/zh-CN.js +3 -0
- package/dist/api/compiler/locales/zh-TW.d.ts +2 -0
- package/dist/api/compiler/locales/zh-TW.js +3 -0
- package/dist/api/compiler/module-resolution-types.d.ts +83 -0
- package/dist/api/compiler/module-resolution-types.js +176 -0
- package/dist/api/compiler/module-resolution.d.ts +71 -0
- package/dist/api/compiler/module-resolution.js +1598 -0
- package/dist/api/compiler/module-specifiers.d.ts +64 -0
- package/dist/api/compiler/module-specifiers.js +1101 -0
- package/dist/api/compiler/name-resolver.d.ts +43 -0
- package/dist/api/compiler/name-resolver.js +509 -0
- package/dist/api/compiler/node-builder-names.d.ts +32 -0
- package/dist/api/compiler/node-builder-names.js +854 -0
- package/dist/api/compiler/node-builder-pseudo.d.ts +36 -0
- package/dist/api/compiler/node-builder-pseudo.js +745 -0
- package/dist/api/compiler/node-builder-reuse.d.ts +4 -0
- package/dist/api/compiler/node-builder-reuse.js +647 -0
- package/dist/api/compiler/node-builder.d.ts +270 -0
- package/dist/api/compiler/node-builder.js +2645 -0
- package/dist/api/compiler/option-declarations.d.ts +90 -0
- package/dist/api/compiler/option-declarations.js +1460 -0
- package/dist/api/compiler/options.d.ts +289 -0
- package/dist/api/compiler/options.js +1197 -0
- package/dist/api/compiler/output-paths.d.ts +42 -0
- package/dist/api/compiler/output-paths.js +195 -0
- package/dist/api/compiler/package-json.d.ts +175 -0
- package/dist/api/compiler/package-json.js +1015 -0
- package/dist/api/compiler/parallel-parse.d.ts +221 -0
- package/dist/api/compiler/parallel-parse.js +541 -0
- package/dist/api/compiler/parser.d.ts +604 -0
- package/dist/api/compiler/parser.js +6426 -0
- package/dist/api/compiler/path.d.ts +91 -0
- package/dist/api/compiler/path.js +705 -0
- package/dist/api/compiler/printer/async-helpers.d.ts +22 -0
- package/dist/api/compiler/printer/async-helpers.js +91 -0
- package/dist/api/compiler/printer/auto-generate.d.ts +13 -0
- package/dist/api/compiler/printer/auto-generate.js +20 -0
- package/dist/api/compiler/printer/decorator-helpers.d.ts +24 -0
- package/dist/api/compiler/printer/decorator-helpers.js +118 -0
- package/dist/api/compiler/printer/emit-context.d.ts +157 -0
- package/dist/api/compiler/printer/emit-context.js +582 -0
- package/dist/api/compiler/printer/emit-flags.d.ts +60 -0
- package/dist/api/compiler/printer/emit-flags.js +2 -0
- package/dist/api/compiler/printer/factory-base.d.ts +171 -0
- package/dist/api/compiler/printer/factory-base.js +1505 -0
- package/dist/api/compiler/printer/factory.d.ts +147 -0
- package/dist/api/compiler/printer/factory.js +542 -0
- package/dist/api/compiler/printer/helpers.d.ts +27 -0
- package/dist/api/compiler/printer/helpers.js +164 -0
- package/dist/api/compiler/printer/name-generator.d.ts +41 -0
- package/dist/api/compiler/printer/name-generator.js +283 -0
- package/dist/api/compiler/printer/printer.d.ts +411 -0
- package/dist/api/compiler/printer/printer.js +4517 -0
- package/dist/api/compiler/printer/text-writer.d.ts +46 -0
- package/dist/api/compiler/printer/text-writer.js +172 -0
- package/dist/api/compiler/printer/utilities.d.ts +82 -0
- package/dist/api/compiler/printer/utilities.js +817 -0
- package/dist/api/compiler/program-checker.d.ts +156 -0
- package/dist/api/compiler/program-checker.js +529 -0
- package/dist/api/compiler/program-utilities.d.ts +52 -0
- package/dist/api/compiler/program-utilities.js +365 -0
- package/dist/api/compiler/program.d.ts +180 -0
- package/dist/api/compiler/program.js +1019 -0
- package/dist/api/compiler/pseudo-bigint.d.ts +5 -0
- package/dist/api/compiler/pseudo-bigint.js +61 -0
- package/dist/api/compiler/regexp-checker.d.ts +38 -0
- package/dist/api/compiler/regexp-checker.js +942 -0
- package/dist/api/compiler/relations.d.ts +263 -0
- package/dist/api/compiler/relations.js +4002 -0
- package/dist/api/compiler/reparser.d.ts +48 -0
- package/dist/api/compiler/reparser.js +1323 -0
- package/dist/api/compiler/scanner.d.ts +256 -0
- package/dist/api/compiler/scanner.js +2853 -0
- package/dist/api/compiler/side-state.d.ts +16 -0
- package/dist/api/compiler/side-state.js +89 -0
- package/dist/api/compiler/sourcemap.d.ts +55 -0
- package/dist/api/compiler/sourcemap.js +340 -0
- package/dist/api/compiler/spelling.d.ts +14 -0
- package/dist/api/compiler/spelling.js +128 -0
- package/dist/api/compiler/symbol-accessibility.d.ts +57 -0
- package/dist/api/compiler/symbol-accessibility.js +991 -0
- package/dist/api/compiler/symbol.d.ts +282 -0
- package/dist/api/compiler/symbol.js +339 -0
- package/dist/api/compiler/symlinks.d.ts +32 -0
- package/dist/api/compiler/symlinks.js +114 -0
- package/dist/api/compiler/syntax-kind.d.ts +389 -0
- package/dist/api/compiler/syntax-kind.js +2 -0
- package/dist/api/compiler/timeline.d.ts +9 -0
- package/dist/api/compiler/timeline.js +54 -0
- package/dist/api/compiler/transformers/alias-references.d.ts +39 -0
- package/dist/api/compiler/transformers/alias-references.js +677 -0
- package/dist/api/compiler/transformers/async-utilities.d.ts +51 -0
- package/dist/api/compiler/transformers/async-utilities.js +260 -0
- package/dist/api/compiler/transformers/async.d.ts +53 -0
- package/dist/api/compiler/transformers/async.js +645 -0
- package/dist/api/compiler/transformers/class-fields.d.ts +206 -0
- package/dist/api/compiler/transformers/class-fields.js +2418 -0
- package/dist/api/compiler/transformers/class-utilities.d.ts +46 -0
- package/dist/api/compiler/transformers/class-utilities.js +261 -0
- package/dist/api/compiler/transformers/commonjs-module.d.ts +103 -0
- package/dist/api/compiler/transformers/commonjs-module.js +1180 -0
- package/dist/api/compiler/transformers/const-enum-inliner.d.ts +11 -0
- package/dist/api/compiler/transformers/const-enum-inliner.js +36 -0
- package/dist/api/compiler/transformers/declarations-diagnostics.d.ts +52 -0
- package/dist/api/compiler/transformers/declarations-diagnostics.js +539 -0
- package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
- package/dist/api/compiler/transformers/declarations-pseudo.js +799 -0
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +152 -0
- package/dist/api/compiler/transformers/declarations-resolver.js +35 -0
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +119 -0
- package/dist/api/compiler/transformers/declarations-syntactic.js +1582 -0
- package/dist/api/compiler/transformers/declarations-tracker.d.ts +46 -0
- package/dist/api/compiler/transformers/declarations-tracker.js +198 -0
- package/dist/api/compiler/transformers/declarations.d.ts +175 -0
- package/dist/api/compiler/transformers/declarations.js +2381 -0
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +54 -0
- package/dist/api/compiler/transformers/decorator-metadata.js +554 -0
- package/dist/api/compiler/transformers/decorator-utilities.d.ts +38 -0
- package/dist/api/compiler/transformers/decorator-utilities.js +238 -0
- package/dist/api/compiler/transformers/destructuring.d.ts +25 -0
- package/dist/api/compiler/transformers/destructuring.js +626 -0
- package/dist/api/compiler/transformers/downlevel.d.ts +6 -0
- package/dist/api/compiler/transformers/downlevel.js +45 -0
- package/dist/api/compiler/transformers/emit-resolver.d.ts +61 -0
- package/dist/api/compiler/transformers/emit-resolver.js +197 -0
- package/dist/api/compiler/transformers/es-decorators.d.ts +118 -0
- package/dist/api/compiler/transformers/es-decorators.js +1901 -0
- package/dist/api/compiler/transformers/exponentiation.d.ts +11 -0
- package/dist/api/compiler/transformers/exponentiation.js +76 -0
- package/dist/api/compiler/transformers/external-module-info.d.ts +35 -0
- package/dist/api/compiler/transformers/external-module-info.js +351 -0
- package/dist/api/compiler/transformers/for-await.d.ts +43 -0
- package/dist/api/compiler/transformers/for-await.js +469 -0
- package/dist/api/compiler/transformers/import-elision.d.ts +16 -0
- package/dist/api/compiler/transformers/import-elision.js +124 -0
- package/dist/api/compiler/transformers/jsx-entities.d.ts +1 -0
- package/dist/api/compiler/transformers/jsx-entities.js +256 -0
- package/dist/api/compiler/transformers/jsx.d.ts +71 -0
- package/dist/api/compiler/transformers/jsx.js +700 -0
- package/dist/api/compiler/transformers/legacy-decorators.d.ts +56 -0
- package/dist/api/compiler/transformers/legacy-decorators.js +564 -0
- package/dist/api/compiler/transformers/logical-assignment.d.ts +14 -0
- package/dist/api/compiler/transformers/logical-assignment.js +62 -0
- package/dist/api/compiler/transformers/module-utilities.d.ts +9 -0
- package/dist/api/compiler/transformers/module-utilities.js +36 -0
- package/dist/api/compiler/transformers/module.d.ts +49 -0
- package/dist/api/compiler/transformers/module.js +296 -0
- package/dist/api/compiler/transformers/named-evaluation.d.ts +26 -0
- package/dist/api/compiler/transformers/named-evaluation.js +266 -0
- package/dist/api/compiler/transformers/nullish-coalescing.d.ts +9 -0
- package/dist/api/compiler/transformers/nullish-coalescing.js +26 -0
- package/dist/api/compiler/transformers/object-rest-spread.d.ts +34 -0
- package/dist/api/compiler/transformers/object-rest-spread.js +411 -0
- package/dist/api/compiler/transformers/optional-catch.d.ts +9 -0
- package/dist/api/compiler/transformers/optional-catch.js +20 -0
- package/dist/api/compiler/transformers/optional-chain.d.ts +14 -0
- package/dist/api/compiler/transformers/optional-chain.js +188 -0
- package/dist/api/compiler/transformers/reference-resolver.d.ts +129 -0
- package/dist/api/compiler/transformers/reference-resolver.js +1157 -0
- package/dist/api/compiler/transformers/runtime-syntax.d.ts +71 -0
- package/dist/api/compiler/transformers/runtime-syntax.js +753 -0
- package/dist/api/compiler/transformers/subtree-facts.d.ts +10 -0
- package/dist/api/compiler/transformers/subtree-facts.js +205 -0
- package/dist/api/compiler/transformers/syntax-facts.d.ts +52 -0
- package/dist/api/compiler/transformers/syntax-facts.js +258 -0
- package/dist/api/compiler/transformers/tagged-template.d.ts +17 -0
- package/dist/api/compiler/transformers/tagged-template.js +148 -0
- package/dist/api/compiler/transformers/transformer.d.ts +17 -0
- package/dist/api/compiler/transformers/transformer.js +54 -0
- package/dist/api/compiler/transformers/type-eraser.d.ts +21 -0
- package/dist/api/compiler/transformers/type-eraser.js +346 -0
- package/dist/api/compiler/transformers/type-serialization.d.ts +20 -0
- package/dist/api/compiler/transformers/type-serialization.js +347 -0
- package/dist/api/compiler/transformers/using.d.ts +56 -0
- package/dist/api/compiler/transformers/using.js +453 -0
- package/dist/api/compiler/transformers/utilities.d.ts +50 -0
- package/dist/api/compiler/transformers/utilities.js +347 -0
- package/dist/api/compiler/transformers/visitor-base.d.ts +6 -0
- package/dist/api/compiler/transformers/visitor-base.js +817 -0
- package/dist/api/compiler/transformers/visitor-hooks.d.ts +29 -0
- package/dist/api/compiler/transformers/visitor-hooks.js +189 -0
- package/dist/api/compiler/tsconfig.d.ts +177 -0
- package/dist/api/compiler/tsconfig.js +1311 -0
- package/dist/api/compiler/type-printer.d.ts +15 -0
- package/dist/api/compiler/type-printer.js +74 -0
- package/dist/api/compiler/types.d.ts +87 -0
- package/dist/api/compiler/types.js +23 -0
- package/dist/api/compiler/unicode-identifiers.d.ts +2 -0
- package/dist/api/compiler/unicode-identifiers.js +209 -0
- package/dist/api/compiler/unicode-properties.d.ts +8 -0
- package/dist/api/compiler/unicode-properties.js +531 -0
- package/dist/api/compiler/vfs-match.d.ts +24 -0
- package/dist/api/compiler/vfs-match.js +587 -0
- package/dist/api/library/ast.d.ts +3 -2
- package/dist/api/library/ast.generated.d.ts +127 -139
- package/dist/api/library/checker.d.ts +51 -0
- package/dist/api/library/checker.js +318 -0
- package/dist/api/library/diagnostics.d.ts +13 -0
- package/dist/api/library/diagnostics.js +50 -0
- package/dist/api/library/disk.d.ts +13 -0
- package/dist/api/library/disk.js +66 -0
- package/dist/api/library/errors.d.ts +13 -0
- package/dist/api/library/errors.js +24 -0
- package/dist/api/library/host.d.ts +24 -0
- package/dist/api/library/host.js +52 -0
- package/dist/api/library/index.d.ts +5 -1
- package/dist/api/library/index.js +4 -0
- package/dist/api/library/nodes.d.ts +51 -0
- package/dist/api/library/nodes.js +196 -0
- package/dist/api/library/options.d.ts +144 -0
- package/dist/api/library/options.js +308 -0
- package/dist/api/library/parse.d.ts +19 -0
- package/dist/api/library/parse.js +41 -0
- package/dist/api/library/program.d.ts +21 -0
- package/dist/api/library/program.js +234 -0
- package/dist/api/library/types.d.ts +14 -1
- package/package.json +12 -8
- package/src/compiler/ast-utilities.ts +548 -0
- package/src/compiler/ast.ts +12870 -0
- package/src/compiler/astnav.ts +799 -0
- package/src/compiler/binder-utilities.ts +1392 -0
- package/src/compiler/binder.ts +2707 -0
- package/src/compiler/build-info.ts +1197 -0
- package/src/compiler/character-codes.ts +323 -0
- package/src/compiler/checker-calls.ts +2155 -0
- package/src/compiler/checker-classes.ts +706 -0
- package/src/compiler/checker-contextual.ts +1457 -0
- package/src/compiler/checker-declaration-order.ts +438 -0
- package/src/compiler/checker-declarations.ts +1201 -0
- package/src/compiler/checker-declared-types.ts +919 -0
- package/src/compiler/checker-decorators.ts +694 -0
- package/src/compiler/checker-deprecation.ts +355 -0
- package/src/compiler/checker-destructuring.ts +805 -0
- package/src/compiler/checker-elaboration.ts +477 -0
- package/src/compiler/checker-emit-helpers.ts +224 -0
- package/src/compiler/checker-emit-resolver.ts +769 -0
- package/src/compiler/checker-evaluator.ts +243 -0
- package/src/compiler/checker-expressions.ts +1831 -0
- package/src/compiler/checker-features.ts +361 -0
- package/src/compiler/checker-flow.ts +394 -0
- package/src/compiler/checker-functions.ts +1296 -0
- package/src/compiler/checker-generated-code.ts +227 -0
- package/src/compiler/checker-globals.ts +52 -0
- package/src/compiler/checker-grammar.ts +3596 -0
- package/src/compiler/checker-heritage.ts +1240 -0
- package/src/compiler/checker-inference.ts +2584 -0
- package/src/compiler/checker-iteration.ts +1206 -0
- package/src/compiler/checker-javascript.ts +502 -0
- package/src/compiler/checker-jsdoc.ts +360 -0
- package/src/compiler/checker-jsx.ts +1928 -0
- package/src/compiler/checker-literals.ts +61 -0
- package/src/compiler/checker-members.ts +2480 -0
- package/src/compiler/checker-modules.ts +2896 -0
- package/src/compiler/checker-narrowing.ts +3230 -0
- package/src/compiler/checker-object-literals.ts +591 -0
- package/src/compiler/checker-operators.ts +1422 -0
- package/src/compiler/checker-overloads.ts +328 -0
- package/src/compiler/checker-property-access.ts +906 -0
- package/src/compiler/checker-services.ts +1149 -0
- package/src/compiler/checker-signatures.ts +1032 -0
- package/src/compiler/checker-source-file.ts +732 -0
- package/src/compiler/checker-statements.ts +292 -0
- package/src/compiler/checker-super.ts +261 -0
- package/src/compiler/checker-symbol-types.ts +1187 -0
- package/src/compiler/checker-symbols.ts +2157 -0
- package/src/compiler/checker-type-factory.ts +2616 -0
- package/src/compiler/checker-type-nodes.ts +1033 -0
- package/src/compiler/checker-type-operators.ts +2510 -0
- package/src/compiler/checker-types.ts +2520 -0
- package/src/compiler/checker-unused.ts +642 -0
- package/src/compiler/checker-utilities.ts +161 -0
- package/src/compiler/checker.ts +1138 -0
- package/src/compiler/command-line.ts +436 -0
- package/src/compiler/compile-program.ts +439 -0
- package/src/compiler/decoder.ts +1209 -0
- package/src/compiler/diagnostic-locales.ts +86 -0
- package/src/compiler/diagnostic-messages.ts +2349 -0
- package/src/compiler/diagnostics.ts +858 -0
- package/src/compiler/emitter.ts +434 -0
- package/src/compiler/encoder.ts +1945 -0
- package/src/compiler/file-include.ts +741 -0
- package/src/compiler/file-loader.ts +1597 -0
- package/src/compiler/file-system.ts +143 -0
- package/src/compiler/flow.ts +89 -0
- package/src/compiler/help.ts +473 -0
- package/src/compiler/incremental.ts +2818 -0
- package/src/compiler/init.ts +141 -0
- package/src/compiler/instantiation.ts +938 -0
- package/src/compiler/jsdoc.ts +1386 -0
- package/src/compiler/link-tables.ts +343 -0
- package/src/compiler/locale-data.ts +203 -0
- package/src/compiler/locale.ts +307 -0
- package/src/compiler/locales/cs-CZ.ts +5 -0
- package/src/compiler/locales/de-DE.ts +5 -0
- package/src/compiler/locales/es-ES.ts +5 -0
- package/src/compiler/locales/fr-FR.ts +5 -0
- package/src/compiler/locales/it-IT.ts +5 -0
- package/src/compiler/locales/ja-JP.ts +5 -0
- package/src/compiler/locales/ko-KR.ts +5 -0
- package/src/compiler/locales/pl-PL.ts +5 -0
- package/src/compiler/locales/pt-BR.ts +5 -0
- package/src/compiler/locales/ru-RU.ts +5 -0
- package/src/compiler/locales/tr-TR.ts +5 -0
- package/src/compiler/locales/zh-CN.ts +5 -0
- package/src/compiler/locales/zh-TW.ts +5 -0
- package/src/compiler/module-resolution-types.ts +243 -0
- package/src/compiler/module-resolution.ts +2072 -0
- package/src/compiler/module-specifiers.ts +1491 -0
- package/src/compiler/name-resolver.ts +646 -0
- package/src/compiler/node-builder-names.ts +1071 -0
- package/src/compiler/node-builder-pseudo.ts +892 -0
- package/src/compiler/node-builder-reuse.ts +764 -0
- package/src/compiler/node-builder.ts +3433 -0
- package/src/compiler/option-declarations.ts +1560 -0
- package/src/compiler/options.ts +1576 -0
- package/src/compiler/output-paths.ts +334 -0
- package/src/compiler/package-json.ts +1083 -0
- package/src/compiler/parallel-check.ts +1954 -0
- package/src/compiler/parallel-parse.ts +595 -0
- package/src/compiler/parse-thread.ts +136 -0
- package/src/compiler/parser.ts +7766 -0
- package/src/compiler/path.ts +717 -0
- package/src/compiler/printer/async-helpers.ts +183 -0
- package/src/compiler/printer/auto-generate.ts +27 -0
- package/src/compiler/printer/decorator-helpers.ts +218 -0
- package/src/compiler/printer/emit-context.ts +684 -0
- package/src/compiler/printer/emit-flags.ts +64 -0
- package/src/compiler/printer/factory-base.ts +2577 -0
- package/src/compiler/printer/factory.ts +764 -0
- package/src/compiler/printer/helpers.ts +291 -0
- package/src/compiler/printer/name-generator.ts +372 -0
- package/src/compiler/printer/printer.ts +5072 -0
- package/src/compiler/printer/text-writer.ts +183 -0
- package/src/compiler/printer/utilities.ts +884 -0
- package/src/compiler/program-checker.ts +594 -0
- package/src/compiler/program-utilities.ts +435 -0
- package/src/compiler/program.ts +1426 -0
- package/src/compiler/pseudo-bigint.ts +62 -0
- package/src/compiler/regexp-checker.ts +1142 -0
- package/src/compiler/relations.ts +5149 -0
- package/src/compiler/reparser.ts +1566 -0
- package/src/compiler/scanner.ts +2951 -0
- package/src/compiler/show-config.ts +239 -0
- package/src/compiler/side-state.ts +125 -0
- package/src/compiler/sourcemap.ts +366 -0
- package/src/compiler/spelling.ts +122 -0
- package/src/compiler/symbol-accessibility.ts +1166 -0
- package/src/compiler/symbol.ts +557 -0
- package/src/compiler/symlinks.ts +137 -0
- package/src/compiler/syntax-kind.ts +391 -0
- package/src/compiler/thread-entry.ts +191 -0
- package/src/compiler/timeline.ts +53 -0
- package/src/compiler/transformers/alias-references.ts +757 -0
- package/src/compiler/transformers/async-utilities.ts +335 -0
- package/src/compiler/transformers/async.ts +838 -0
- package/src/compiler/transformers/class-fields.ts +2967 -0
- package/src/compiler/transformers/class-utilities.ts +324 -0
- package/src/compiler/transformers/commonjs-module.ts +1621 -0
- package/src/compiler/transformers/const-enum-inliner.ts +50 -0
- package/src/compiler/transformers/declarations-diagnostics.ts +833 -0
- package/src/compiler/transformers/declarations-pseudo.ts +969 -0
- package/src/compiler/transformers/declarations-resolver.ts +249 -0
- package/src/compiler/transformers/declarations-syntactic.ts +1867 -0
- package/src/compiler/transformers/declarations-tracker.ts +269 -0
- package/src/compiler/transformers/declarations.ts +3120 -0
- package/src/compiler/transformers/decorator-metadata.ts +697 -0
- package/src/compiler/transformers/decorator-utilities.ts +283 -0
- package/src/compiler/transformers/destructuring.ts +708 -0
- package/src/compiler/transformers/downlevel.ts +50 -0
- package/src/compiler/transformers/emit-resolver.ts +258 -0
- package/src/compiler/transformers/es-decorators.ts +2682 -0
- package/src/compiler/transformers/exponentiation.ts +80 -0
- package/src/compiler/transformers/external-module-info.ts +412 -0
- package/src/compiler/transformers/for-await.ts +687 -0
- package/src/compiler/transformers/import-elision.ts +152 -0
- package/src/compiler/transformers/jsx-entities.ts +256 -0
- package/src/compiler/transformers/jsx.ts +824 -0
- package/src/compiler/transformers/legacy-decorators.ts +726 -0
- package/src/compiler/transformers/logical-assignment.ts +75 -0
- package/src/compiler/transformers/module-utilities.ts +42 -0
- package/src/compiler/transformers/module.ts +474 -0
- package/src/compiler/transformers/named-evaluation.ts +389 -0
- package/src/compiler/transformers/nullish-coalescing.ts +35 -0
- package/src/compiler/transformers/object-rest-spread.ts +577 -0
- package/src/compiler/transformers/optional-catch.ts +29 -0
- package/src/compiler/transformers/optional-chain.ts +246 -0
- package/src/compiler/transformers/reference-resolver.ts +1213 -0
- package/src/compiler/transformers/runtime-syntax.ts +942 -0
- package/src/compiler/transformers/subtree-facts.ts +253 -0
- package/src/compiler/transformers/syntax-facts.ts +358 -0
- package/src/compiler/transformers/tagged-template.ts +167 -0
- package/src/compiler/transformers/transformer.ts +56 -0
- package/src/compiler/transformers/type-eraser.ts +520 -0
- package/src/compiler/transformers/type-serialization.ts +374 -0
- package/src/compiler/transformers/using.ts +613 -0
- package/src/compiler/transformers/utilities.ts +419 -0
- package/src/compiler/transformers/visitor-base.ts +1601 -0
- package/src/compiler/transformers/visitor-hooks.ts +252 -0
- package/src/compiler/tsc-build.ts +1422 -0
- package/src/compiler/tsc-cli.ts +669 -0
- package/src/compiler/tsc-compile.ts +446 -0
- package/src/compiler/tsc-watch.ts +922 -0
- package/src/compiler/tsconfig.ts +1574 -0
- package/src/compiler/type-printer.ts +110 -0
- package/src/compiler/types.ts +115 -0
- package/src/compiler/unicode-identifiers.ts +212 -0
- package/src/compiler/unicode-properties.ts +537 -0
- package/src/compiler/vfs-match.ts +597 -0
- package/src/compiler/xxh3.ts +650 -0
- package/src/library/ast.generated.ts +141 -167
- package/src/library/ast.ts +4 -1
- package/src/library/checker.ts +384 -0
- package/src/library/diagnostics.ts +72 -0
- package/src/library/disk.ts +73 -0
- package/src/library/errors.ts +26 -0
- package/src/library/host.ts +63 -0
- package/src/library/index.ts +21 -0
- package/src/library/nodes.ts +232 -0
- package/src/library/options.ts +449 -0
- package/src/library/parse.ts +63 -0
- package/src/library/program.ts +293 -0
- package/src/library/types.ts +14 -1
package/src/library/ast.ts
CHANGED
|
@@ -9,9 +9,11 @@ import type {
|
|
|
9
9
|
Identifier,
|
|
10
10
|
KeywordSyntaxKind,
|
|
11
11
|
ModifierSyntaxKind,
|
|
12
|
+
NoSubstitutionTemplateLiteral,
|
|
12
13
|
PropertyAccessExpression,
|
|
13
14
|
PunctuationSyntaxKind,
|
|
14
15
|
Statement,
|
|
16
|
+
StringLiteral,
|
|
15
17
|
ThisExpression,
|
|
16
18
|
Token,
|
|
17
19
|
} from './ast.generated.js';
|
|
@@ -30,7 +32,7 @@ export interface TextRange {
|
|
|
30
32
|
export interface Node extends TextRange {
|
|
31
33
|
readonly kind: SyntaxKind;
|
|
32
34
|
readonly flags: NodeFlags;
|
|
33
|
-
readonly parent: Node;
|
|
35
|
+
readonly parent: Node | undefined;
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
/** The children of a node in one list: `nodes`, and the range from the list's opening to its closing token. */
|
|
@@ -92,6 +94,7 @@ export interface PropertyAccessEntityNameExpression extends PropertyAccessExpres
|
|
|
92
94
|
}
|
|
93
95
|
|
|
94
96
|
export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
|
|
97
|
+
export type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral;
|
|
95
98
|
export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
|
|
96
99
|
|
|
97
100
|
export interface JsxTagNamePropertyAccess extends PropertyAccessExpression {
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
// The TypeChecker of tsc-ts's public API: a checker of the program for queries, independent of the
|
|
2
|
+
// checker that reports the program's diagnostics, as `tsc-ts --api` answers queries. Each method answers
|
|
3
|
+
// as the `tsc-ts --api` request of the same name does.
|
|
4
|
+
|
|
5
|
+
import type { Node as CompilerNode } from '../compiler/ast.js';
|
|
6
|
+
import { type Checker, disposeChecker } from '../compiler/checker.js';
|
|
7
|
+
import { getBaseTypes, getDeclaredTypeOfSymbol } from '../compiler/checker-declared-types.js';
|
|
8
|
+
import { getNonNullableType } from '../compiler/checker-flow.js';
|
|
9
|
+
import {
|
|
10
|
+
getIndexInfosOfType,
|
|
11
|
+
getPropertiesOfType,
|
|
12
|
+
getPropertyOfType,
|
|
13
|
+
getSignaturesOfType,
|
|
14
|
+
isArrayLikeType,
|
|
15
|
+
} from '../compiler/checker-members.js';
|
|
16
|
+
import {
|
|
17
|
+
getConstantValue,
|
|
18
|
+
getShorthandAssignmentValueSymbol,
|
|
19
|
+
getSymbolAtLocation,
|
|
20
|
+
getTypeAtLocation,
|
|
21
|
+
getTypeOfSymbolAtLocation,
|
|
22
|
+
queryContextualType,
|
|
23
|
+
queryResolvedSignature,
|
|
24
|
+
querySignatureFromDeclaration,
|
|
25
|
+
} from '../compiler/checker-services.js';
|
|
26
|
+
import { getReturnTypeOfSignature, getTypePredicateOfSignature } from '../compiler/checker-signatures.js';
|
|
27
|
+
import { getTypeOfSymbol } from '../compiler/checker-symbol-types.js';
|
|
28
|
+
import { resolveAlias, resolveName } from '../compiler/checker-symbols.js';
|
|
29
|
+
import {
|
|
30
|
+
getBaseTypeOfLiteralType,
|
|
31
|
+
getTypeArguments,
|
|
32
|
+
isArrayType,
|
|
33
|
+
isTupleType,
|
|
34
|
+
} from '../compiler/checker-type-factory.js';
|
|
35
|
+
import { getTypeFromTypeNode } from '../compiler/checker-type-nodes.js';
|
|
36
|
+
import {
|
|
37
|
+
type Signature as CompilerSignature,
|
|
38
|
+
SignatureKind as CompilerSignatureKind,
|
|
39
|
+
type Type as CompilerType,
|
|
40
|
+
} from '../compiler/checker-types.js';
|
|
41
|
+
import { typeToStringFromTypeNode } from '../compiler/node-builder.js';
|
|
42
|
+
import { isTypeAssignableTo } from '../compiler/relations.js';
|
|
43
|
+
import {
|
|
44
|
+
getSymbolId,
|
|
45
|
+
type Symbol as CompilerSymbol,
|
|
46
|
+
type SymbolFlags as CompilerSymbolFlags,
|
|
47
|
+
} from '../compiler/symbol.js';
|
|
48
|
+
import { typeToString } from '../compiler/type-printer.js';
|
|
49
|
+
import type { Expression, Identifier, Node, TypeNode } from './ast.js';
|
|
50
|
+
import { SignatureKind, SymbolFlags, TypeFormatFlags, type TypePredicateKind } from './enums.generated.js';
|
|
51
|
+
import { internalError } from './errors.js';
|
|
52
|
+
import type {
|
|
53
|
+
IndexInfo,
|
|
54
|
+
InterfaceType,
|
|
55
|
+
Signature,
|
|
56
|
+
Symbol,
|
|
57
|
+
Type,
|
|
58
|
+
TypeChecker,
|
|
59
|
+
TypePredicate,
|
|
60
|
+
TypeReference,
|
|
61
|
+
} from './types.js';
|
|
62
|
+
|
|
63
|
+
// The API's objects are tsc-ts's own: these name the conversions between the public and compiler types.
|
|
64
|
+
const node = (n: Node): CompilerNode => n as unknown as CompilerNode;
|
|
65
|
+
const nodeOrUndefined = (n: Node | undefined): CompilerNode | undefined => n as unknown as CompilerNode | undefined;
|
|
66
|
+
const type = (t: Type): CompilerType => t as unknown as CompilerType;
|
|
67
|
+
const signature = (s: Signature): CompilerSignature => s as unknown as CompilerSignature;
|
|
68
|
+
const compilerSymbol = (s: Symbol): CompilerSymbol => s as unknown as CompilerSymbol;
|
|
69
|
+
const publicType = (t: CompilerType | undefined): Type | undefined => t as unknown as Type | undefined;
|
|
70
|
+
const publicTypes = (types: readonly CompilerType[]): readonly Type[] => types.slice() as unknown as readonly Type[];
|
|
71
|
+
const publicSignature = (s: CompilerSignature | undefined): Signature | undefined =>
|
|
72
|
+
s as unknown as Signature | undefined;
|
|
73
|
+
|
|
74
|
+
/** `symbol`, with its id assigned: every symbol the API hands out has one. */
|
|
75
|
+
export function publicSymbol(symbol: CompilerSymbol | undefined): Symbol | undefined {
|
|
76
|
+
if (symbol === undefined) return undefined;
|
|
77
|
+
getSymbolId(symbol);
|
|
78
|
+
return symbol as unknown as Symbol;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function publicSymbols(symbols: readonly CompilerSymbol[]): readonly Symbol[] {
|
|
82
|
+
const result: Symbol[] = [];
|
|
83
|
+
for (const symbol of symbols) result.push(publicSymbol(symbol)!);
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** The flags of typeToString without flags, as TypeScript 7's API uses them. */
|
|
88
|
+
const defaultTypeFormatFlags =
|
|
89
|
+
TypeFormatFlags.AllowUniqueESSymbolType | TypeFormatFlags.UseAliasDefinedOutsideCurrentScope;
|
|
90
|
+
|
|
91
|
+
export class LibraryTypeChecker implements TypeChecker {
|
|
92
|
+
constructor(private readonly c: Checker) {}
|
|
93
|
+
|
|
94
|
+
dispose(): void {
|
|
95
|
+
disposeChecker(this.c);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
getSymbolAtLocation(location: Node): Symbol | undefined {
|
|
99
|
+
try {
|
|
100
|
+
return publicSymbol(getSymbolAtLocation(this.c, node(location)));
|
|
101
|
+
} catch (e) {
|
|
102
|
+
throw internalError(e);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
getTypeAtLocation(location: Node): Type | undefined {
|
|
107
|
+
try {
|
|
108
|
+
return publicType(getTypeAtLocation(this.c, node(location)));
|
|
109
|
+
} catch (e) {
|
|
110
|
+
throw internalError(e);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
getTypeOfSymbol(symbol: Symbol): Type | undefined {
|
|
115
|
+
try {
|
|
116
|
+
return publicType(getTypeOfSymbol(this.c, compilerSymbol(symbol)));
|
|
117
|
+
} catch (e) {
|
|
118
|
+
throw internalError(e);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
getDeclaredTypeOfSymbol(symbol: Symbol): Type {
|
|
123
|
+
try {
|
|
124
|
+
return publicType(getDeclaredTypeOfSymbol(this.c, compilerSymbol(symbol)))!;
|
|
125
|
+
} catch (e) {
|
|
126
|
+
throw internalError(e);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
getTypeOfSymbolAtLocation(symbol: Symbol, location: Node): Type {
|
|
131
|
+
try {
|
|
132
|
+
return publicType(getTypeOfSymbolAtLocation(this.c, compilerSymbol(symbol), node(location)))!;
|
|
133
|
+
} catch (e) {
|
|
134
|
+
throw internalError(e);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
getTypeArguments(reference: TypeReference): readonly Type[] {
|
|
139
|
+
try {
|
|
140
|
+
return publicTypes(getTypeArguments(this.c, type(reference)));
|
|
141
|
+
} catch (e) {
|
|
142
|
+
throw internalError(e);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/** The target of an alias; throws an InternalCompilerError for any other symbol, as TypeScript 7 does. */
|
|
147
|
+
getAliasedSymbol(symbol: Symbol): Symbol {
|
|
148
|
+
try {
|
|
149
|
+
if ((symbol.flags & SymbolFlags.Alias) === 0) throw new Error('Should only get alias here');
|
|
150
|
+
return publicSymbol(resolveAlias(this.c, compilerSymbol(symbol)))!;
|
|
151
|
+
} catch (e) {
|
|
152
|
+
throw internalError(e);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
getPropertyOfType(t: Type, name: string): Symbol | undefined {
|
|
157
|
+
try {
|
|
158
|
+
return publicSymbol(getPropertyOfType(this.c, type(t), name));
|
|
159
|
+
} catch (e) {
|
|
160
|
+
throw internalError(e);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
getPropertiesOfType(t: Type): readonly Symbol[] {
|
|
165
|
+
try {
|
|
166
|
+
return publicSymbols(getPropertiesOfType(this.c, type(t)));
|
|
167
|
+
} catch (e) {
|
|
168
|
+
throw internalError(e);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
getSignaturesOfType(t: Type, kind: SignatureKind): readonly Signature[] {
|
|
173
|
+
try {
|
|
174
|
+
const signatures = getSignaturesOfType(
|
|
175
|
+
this.c,
|
|
176
|
+
type(t),
|
|
177
|
+
kind === SignatureKind.Call ? CompilerSignatureKind.Call : CompilerSignatureKind.Construct,
|
|
178
|
+
);
|
|
179
|
+
return signatures.slice() as unknown as readonly Signature[];
|
|
180
|
+
} catch (e) {
|
|
181
|
+
throw internalError(e);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
getIndexInfosOfType(t: Type): readonly IndexInfo[] {
|
|
186
|
+
try {
|
|
187
|
+
return getIndexInfosOfType(this.c, type(t)).slice() as unknown as readonly IndexInfo[];
|
|
188
|
+
} catch (e) {
|
|
189
|
+
throw internalError(e);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
getReturnTypeOfSignature(s: Signature): Type | undefined {
|
|
194
|
+
try {
|
|
195
|
+
return publicType(getReturnTypeOfSignature(this.c, signature(s)));
|
|
196
|
+
} catch (e) {
|
|
197
|
+
throw internalError(e);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
getTypePredicateOfSignature(s: Signature): TypePredicate | undefined {
|
|
202
|
+
try {
|
|
203
|
+
const predicate = getTypePredicateOfSignature(this.c, signature(s));
|
|
204
|
+
if (predicate === undefined) return undefined;
|
|
205
|
+
return {
|
|
206
|
+
kind: predicate.kind as number as TypePredicateKind,
|
|
207
|
+
parameterIndex: predicate.parameterIndex,
|
|
208
|
+
parameterName: predicate.parameterName === '' ? undefined : predicate.parameterName,
|
|
209
|
+
type: publicType(predicate.type),
|
|
210
|
+
};
|
|
211
|
+
} catch (e) {
|
|
212
|
+
throw internalError(e);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
getSignatureFromDeclaration(declaration: Node): Signature | undefined {
|
|
217
|
+
try {
|
|
218
|
+
return publicSignature(querySignatureFromDeclaration(this.c, node(declaration)));
|
|
219
|
+
} catch (e) {
|
|
220
|
+
throw internalError(e);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
getResolvedSignature(call: Node): Signature | undefined {
|
|
225
|
+
try {
|
|
226
|
+
return publicSignature(queryResolvedSignature(this.c, node(call)));
|
|
227
|
+
} catch (e) {
|
|
228
|
+
throw internalError(e);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
getContextualType(expression: Expression): Type | undefined {
|
|
233
|
+
try {
|
|
234
|
+
return publicType(queryContextualType(this.c, node(expression)));
|
|
235
|
+
} catch (e) {
|
|
236
|
+
throw internalError(e);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined {
|
|
241
|
+
try {
|
|
242
|
+
return publicSymbol(getShorthandAssignmentValueSymbol(this.c, node(location)));
|
|
243
|
+
} catch (e) {
|
|
244
|
+
throw internalError(e);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
getTypeFromTypeNode(typeNode: TypeNode): Type | undefined {
|
|
249
|
+
try {
|
|
250
|
+
return publicType(getTypeFromTypeNode(this.c, node(typeNode)));
|
|
251
|
+
} catch (e) {
|
|
252
|
+
throw internalError(e);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
getBaseTypeOfLiteralType(t: Type): Type | undefined {
|
|
257
|
+
try {
|
|
258
|
+
return publicType(getBaseTypeOfLiteralType(this.c, type(t)));
|
|
259
|
+
} catch (e) {
|
|
260
|
+
throw internalError(e);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
getNonNullableType(t: Type): Type | undefined {
|
|
265
|
+
try {
|
|
266
|
+
return publicType(getNonNullableType(this.c, type(t)));
|
|
267
|
+
} catch (e) {
|
|
268
|
+
throw internalError(e);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
getBaseTypes(t: InterfaceType): readonly Type[] {
|
|
273
|
+
try {
|
|
274
|
+
return publicTypes(getBaseTypes(this.c, type(t)));
|
|
275
|
+
} catch (e) {
|
|
276
|
+
throw internalError(e);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
getConstantValue(location: Node): string | number | undefined {
|
|
281
|
+
try {
|
|
282
|
+
return getConstantValue(this.c, node(location));
|
|
283
|
+
} catch (e) {
|
|
284
|
+
throw internalError(e);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
isArrayType(t: Type): boolean {
|
|
289
|
+
try {
|
|
290
|
+
return isArrayType(this.c, type(t));
|
|
291
|
+
} catch (e) {
|
|
292
|
+
throw internalError(e);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
isTupleType(t: Type): boolean {
|
|
297
|
+
try {
|
|
298
|
+
return isTupleType(type(t));
|
|
299
|
+
} catch (e) {
|
|
300
|
+
throw internalError(e);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
isArrayLikeType(t: Type): boolean {
|
|
305
|
+
try {
|
|
306
|
+
return isArrayLikeType(this.c, type(t));
|
|
307
|
+
} catch (e) {
|
|
308
|
+
throw internalError(e);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
isTypeAssignableTo(source: Type, target: Type): boolean {
|
|
313
|
+
try {
|
|
314
|
+
return isTypeAssignableTo(this.c, type(source), type(target));
|
|
315
|
+
} catch (e) {
|
|
316
|
+
throw internalError(e);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
resolveName(name: string, meaning: SymbolFlags, location?: Node, excludeGlobals = false): Symbol | undefined {
|
|
321
|
+
try {
|
|
322
|
+
return publicSymbol(
|
|
323
|
+
resolveName(
|
|
324
|
+
this.c,
|
|
325
|
+
nodeOrUndefined(location),
|
|
326
|
+
name,
|
|
327
|
+
meaning as number as CompilerSymbolFlags,
|
|
328
|
+
undefined,
|
|
329
|
+
false,
|
|
330
|
+
excludeGlobals,
|
|
331
|
+
),
|
|
332
|
+
);
|
|
333
|
+
} catch (e) {
|
|
334
|
+
throw internalError(e);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/** The value an identifier names where it is: resolveName of its text, as TypeScript 7's API defines it. */
|
|
339
|
+
getResolvedSymbol(identifier: Identifier): Symbol | undefined {
|
|
340
|
+
if (identifier.text === '') return undefined;
|
|
341
|
+
return this.resolveName(identifier.text, SymbolFlags.Value | SymbolFlags.ExportValue, identifier);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
typeToString(t: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string {
|
|
345
|
+
try {
|
|
346
|
+
const enclosing = nodeOrUndefined(enclosingDeclaration);
|
|
347
|
+
const formatFlags = flags === undefined || flags === 0 ? defaultTypeFormatFlags : flags;
|
|
348
|
+
return (
|
|
349
|
+
typeToStringFromTypeNode(this.c, type(t), enclosing, formatFlags) ??
|
|
350
|
+
typeToString(this.c, type(t), enclosing, formatFlags)
|
|
351
|
+
);
|
|
352
|
+
} catch (e) {
|
|
353
|
+
throw internalError(e);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
getAnyType(): Type {
|
|
358
|
+
return this.c.anyType as unknown as Type;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
getUnknownType(): Type {
|
|
362
|
+
return this.c.unknownType as unknown as Type;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
getNeverType(): Type {
|
|
366
|
+
return this.c.neverType as unknown as Type;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
getStringType(): Type {
|
|
370
|
+
return this.c.stringType as unknown as Type;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
getNumberType(): Type {
|
|
374
|
+
return this.c.numberType as unknown as Type;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
getBigIntType(): Type {
|
|
378
|
+
return this.c.bigintType as unknown as Type;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
getBooleanType(): Type {
|
|
382
|
+
return this.c.booleanType as unknown as Type;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// The diagnostics of programs, as tsc-ts's public API and `tsc-ts --api` return them.
|
|
2
|
+
|
|
3
|
+
import type { SourceFile } from '../compiler/ast.js';
|
|
4
|
+
import { type Diagnostic as CompilerDiagnostic, Locale } from '../compiler/diagnostics.js';
|
|
5
|
+
import { sortAndDeduplicateDiagnostics } from '../compiler/program.js';
|
|
6
|
+
import type { CheckedProgram } from '../compiler/program-checker.js';
|
|
7
|
+
import type { DiagnosticCategory } from './enums.generated.js';
|
|
8
|
+
import type { Diagnostic } from './types.js';
|
|
9
|
+
|
|
10
|
+
export type DiagnosticKind =
|
|
11
|
+
| 'config'
|
|
12
|
+
| 'program'
|
|
13
|
+
| 'global'
|
|
14
|
+
| 'syntactic'
|
|
15
|
+
| 'bind'
|
|
16
|
+
| 'semantic'
|
|
17
|
+
| 'suggestion'
|
|
18
|
+
| 'declaration';
|
|
19
|
+
|
|
20
|
+
/** A diagnostic as plain data, with its text in the default locale and its chain and related information. */
|
|
21
|
+
export function diagnosticOf(d: CompilerDiagnostic): Diagnostic {
|
|
22
|
+
return {
|
|
23
|
+
fileName: d.file?.fileName,
|
|
24
|
+
pos: d.pos,
|
|
25
|
+
end: d.end,
|
|
26
|
+
code: d.code,
|
|
27
|
+
category: d.category as number as DiagnosticCategory,
|
|
28
|
+
text: d.localize(Locale.Default),
|
|
29
|
+
reportsUnnecessary: d.reportsUnnecessary,
|
|
30
|
+
reportsDeprecated: d.reportsDeprecated,
|
|
31
|
+
messageChain: d.messageChain.map(diagnosticOf),
|
|
32
|
+
relatedInformation: d.relatedInformation.map(diagnosticOf),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The diagnostics of one kind for `file`, or for every file of the program without one. Global
|
|
38
|
+
* diagnostics are those of no file, after the semantic diagnostics of every file, as tsgo's API returns
|
|
39
|
+
* them. Declaration diagnostics are empty, as tsgo's API returns them.
|
|
40
|
+
*/
|
|
41
|
+
export function programDiagnostics(
|
|
42
|
+
checked: CheckedProgram,
|
|
43
|
+
kind: DiagnosticKind,
|
|
44
|
+
file: SourceFile | undefined,
|
|
45
|
+
): readonly CompilerDiagnostic[] {
|
|
46
|
+
const program = checked.program;
|
|
47
|
+
switch (kind) {
|
|
48
|
+
case 'config':
|
|
49
|
+
return program.getConfigFileParsingDiagnostics();
|
|
50
|
+
case 'program':
|
|
51
|
+
return program.getProgramDiagnostics();
|
|
52
|
+
case 'global': {
|
|
53
|
+
checked.getSemanticDiagnostics(undefined);
|
|
54
|
+
const all = [
|
|
55
|
+
...program.getConfigFileParsingDiagnostics(),
|
|
56
|
+
...program.getProgramDiagnostics(),
|
|
57
|
+
...checked.getGlobalDiagnostics(),
|
|
58
|
+
];
|
|
59
|
+
return sortAndDeduplicateDiagnostics(all).filter((d) => d.file === undefined);
|
|
60
|
+
}
|
|
61
|
+
case 'syntactic':
|
|
62
|
+
return program.getSyntacticDiagnostics(file);
|
|
63
|
+
case 'bind':
|
|
64
|
+
return checked.getBindDiagnostics(file);
|
|
65
|
+
case 'semantic':
|
|
66
|
+
return checked.getSemanticDiagnostics(file);
|
|
67
|
+
case 'suggestion':
|
|
68
|
+
return checked.getSuggestionDiagnostics(file);
|
|
69
|
+
case 'declaration':
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// The disk, as tsc-ts's public API and `tsc-ts --api` read it where a host doesn't answer.
|
|
2
|
+
import { readdirSync, readFileSync, realpathSync, statSync } from 'node:fs';
|
|
3
|
+
|
|
4
|
+
export interface DirectoryEntries {
|
|
5
|
+
files: string[];
|
|
6
|
+
directories: string[];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface FileStat {
|
|
10
|
+
isDirectory: boolean;
|
|
11
|
+
size: number;
|
|
12
|
+
mtimeMs: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Reads a text file, decoding UTF-16 byte order marks and dropping a UTF-8 one.
|
|
16
|
+
export function diskReadFile(path: string): string | undefined {
|
|
17
|
+
let bytes: Uint8Array;
|
|
18
|
+
try {
|
|
19
|
+
bytes = readFileSync(path);
|
|
20
|
+
} catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
if (bytes.length >= 2 && bytes[0] === 0xff && bytes[1] === 0xfe)
|
|
24
|
+
return new TextDecoder('utf-16le').decode(bytes.subarray(2));
|
|
25
|
+
if (bytes.length >= 2 && bytes[0] === 0xfe && bytes[1] === 0xff) return utf16be(bytes.subarray(2));
|
|
26
|
+
if (bytes.length >= 3 && bytes[0] === 0xef && bytes[1] === 0xbb && bytes[2] === 0xbf) bytes = bytes.subarray(3);
|
|
27
|
+
return new TextDecoder().decode(bytes);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function utf16be(bytes: Uint8Array): string {
|
|
31
|
+
const swapped = new Uint8Array(bytes.length & ~1);
|
|
32
|
+
for (let i = 0; i + 1 < bytes.length; i += 2) {
|
|
33
|
+
swapped[i] = bytes[i + 1];
|
|
34
|
+
swapped[i + 1] = bytes[i];
|
|
35
|
+
}
|
|
36
|
+
return new TextDecoder('utf-16le').decode(swapped);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function diskStat(path: string): FileStat | undefined {
|
|
40
|
+
try {
|
|
41
|
+
const s = statSync(path);
|
|
42
|
+
return { isDirectory: s.isDirectory(), size: s.size, mtimeMs: s.mtimeMs };
|
|
43
|
+
} catch {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Lists a directory, following symbolic links and skipping broken ones.
|
|
49
|
+
export function diskEntries(path: string): DirectoryEntries {
|
|
50
|
+
const files: string[] = [];
|
|
51
|
+
const directories: string[] = [];
|
|
52
|
+
let names: string[];
|
|
53
|
+
try {
|
|
54
|
+
names = readdirSync(path);
|
|
55
|
+
} catch {
|
|
56
|
+
return { files, directories };
|
|
57
|
+
}
|
|
58
|
+
for (const name of names.sort()) {
|
|
59
|
+
const stat = diskStat(path + '/' + name);
|
|
60
|
+
if (stat === undefined) continue;
|
|
61
|
+
if (stat.isDirectory) directories.push(name);
|
|
62
|
+
else files.push(name);
|
|
63
|
+
}
|
|
64
|
+
return { files, directories };
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function diskRealpath(path: string): string {
|
|
68
|
+
try {
|
|
69
|
+
return realpathSync(path);
|
|
70
|
+
} catch {
|
|
71
|
+
return path;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Errors of tsc-ts's public API.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A failure inside tsc-ts while it answered an API call: an exception the compiler threw, as tsgo panics.
|
|
5
|
+
* `cause` is the exception. The program's checker may be inconsistent after one; dispose of the program.
|
|
6
|
+
*/
|
|
7
|
+
export class InternalCompilerError extends Error {
|
|
8
|
+
constructor(cause: unknown) {
|
|
9
|
+
super('panic: ' + (cause instanceof Error ? cause.message : String(cause)), { cause });
|
|
10
|
+
this.name = 'InternalCompilerError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** A call on a program, or on its checker, after `dispose()`. */
|
|
15
|
+
export class DisposedProgramError extends Error {
|
|
16
|
+
constructor() {
|
|
17
|
+
super('the program is disposed');
|
|
18
|
+
this.name = 'DisposedProgramError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** `e` as an InternalCompilerError; errors of using a disposed program are rethrown as they are. */
|
|
23
|
+
export function internalError(e: unknown): Error {
|
|
24
|
+
if (e instanceof InternalCompilerError || e instanceof DisposedProgramError) return e;
|
|
25
|
+
return new InternalCompilerError(e);
|
|
26
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// The file system a program of tsc-ts's public API reads through its host.
|
|
2
|
+
|
|
3
|
+
import { diskEntries, diskReadFile, diskRealpath, diskStat } from './disk.js';
|
|
4
|
+
import { ParseOptions, ScriptKind, type ExternalModuleIndicatorOptions, type SourceFile } from '../compiler/ast.js';
|
|
5
|
+
import { CompilerHost } from '../compiler/file-loader.js';
|
|
6
|
+
import { DirectoryEntries, FileSystem } from '../compiler/file-system.js';
|
|
7
|
+
import { takePreparedFile } from '../compiler/parallel-parse.js';
|
|
8
|
+
import { parseSourceFile } from '../compiler/parser.js';
|
|
9
|
+
import type { ProgramHost } from './types.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The host's answers, and the disk's where a callback is missing or answers undefined, as `tsc-ts --api`
|
|
13
|
+
* reads through its client's callbacks. `readFile` answering null means the file doesn't exist.
|
|
14
|
+
*/
|
|
15
|
+
export class HostFileSystem extends FileSystem {
|
|
16
|
+
constructor(private readonly host: ProgramHost) {
|
|
17
|
+
super(host.useCaseSensitiveFileNames());
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
fileExists(path: string): boolean {
|
|
21
|
+
const answer = this.host.fileExists?.(path);
|
|
22
|
+
return answer ?? diskStat(path)?.isDirectory === false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
directoryExists(path: string): boolean {
|
|
26
|
+
const answer = this.host.directoryExists?.(path);
|
|
27
|
+
return answer ?? diskStat(path)?.isDirectory === true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
readFile(path: string): string | undefined {
|
|
31
|
+
const answer = this.host.readFile?.(path);
|
|
32
|
+
if (answer === null) return undefined;
|
|
33
|
+
return answer ?? diskReadFile(path);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
getAccessibleEntries(path: string): DirectoryEntries {
|
|
37
|
+
const entries = this.host.getAccessibleEntries?.(path) ?? diskEntries(path);
|
|
38
|
+
return new DirectoryEntries(entries.files.slice(), entries.directories.slice(), undefined);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
realpath(path: string): string {
|
|
42
|
+
return this.host.realpath?.(path) ?? diskRealpath(path);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The compiler host of a program of tsc-ts's public API. A file that parse threads prepared, reading the disk, is
|
|
48
|
+
* taken only when the host gives the same text for it; the program parses the host's text otherwise.
|
|
49
|
+
*/
|
|
50
|
+
export class LibraryCompilerHost extends CompilerHost {
|
|
51
|
+
getSourceFile(
|
|
52
|
+
fileName: string,
|
|
53
|
+
path: string,
|
|
54
|
+
externalModuleIndicatorOptions: ExternalModuleIndicatorOptions,
|
|
55
|
+
): SourceFile | undefined {
|
|
56
|
+
const text = this.readFile(fileName);
|
|
57
|
+
if (text === undefined) return undefined;
|
|
58
|
+
return (
|
|
59
|
+
takePreparedFile(fileName, path, externalModuleIndicatorOptions, text) ??
|
|
60
|
+
parseSourceFile(fileName, text, new ParseOptions(path, ScriptKind.Unknown, externalModuleIndicatorOptions))
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
}
|
package/src/library/index.ts
CHANGED
|
@@ -5,6 +5,26 @@ export * from './ast.js';
|
|
|
5
5
|
export * from './enums.generated.js';
|
|
6
6
|
export type { CompilerOptions } from './compiler-options.generated.js';
|
|
7
7
|
export { symbolName } from './symbols.js';
|
|
8
|
+
export { createProgram, createProgramFromConfigFile, getPreEmitDiagnostics, parseConfigFile } from './program.js';
|
|
9
|
+
export { DisposedProgramError, InternalCompilerError } from './errors.js';
|
|
10
|
+
export { parseSourceFile, type ParseSourceFileOptions } from './parse.js';
|
|
11
|
+
export {
|
|
12
|
+
canHaveModifiers,
|
|
13
|
+
flattenDiagnosticMessageText,
|
|
14
|
+
forEachChild,
|
|
15
|
+
getCombinedModifierFlags,
|
|
16
|
+
getCombinedNodeFlags,
|
|
17
|
+
getJSDoc,
|
|
18
|
+
getLineAndCharacterOfPosition,
|
|
19
|
+
getLineStarts,
|
|
20
|
+
getModifiers,
|
|
21
|
+
getPositionOfLineAndCharacter,
|
|
22
|
+
getSourceFileOfNode,
|
|
23
|
+
getTextOfNode,
|
|
24
|
+
tokenStartOfNode,
|
|
25
|
+
tokenToString,
|
|
26
|
+
walkPreorder,
|
|
27
|
+
} from './nodes.js';
|
|
8
28
|
export type {
|
|
9
29
|
__String,
|
|
10
30
|
BigIntLiteralType,
|
|
@@ -34,6 +54,7 @@ export type {
|
|
|
34
54
|
Symbol,
|
|
35
55
|
TemplateLiteralType,
|
|
36
56
|
TupleType,
|
|
57
|
+
TupleTypeReference,
|
|
37
58
|
Type,
|
|
38
59
|
TypeChecker,
|
|
39
60
|
TypeParameter,
|