tsc-ts 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -0
- 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 +2350 -0
- package/dist/api/compiler/ast.js +11206 -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 +1240 -0
- package/dist/api/compiler/binder.d.ts +33 -0
- package/dist/api/compiler/binder.js +2358 -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 +1640 -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 +356 -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 +787 -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 +315 -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 +290 -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 +579 -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 +2573 -0
- package/dist/api/compiler/checker-heritage.d.ts +28 -0
- package/dist/api/compiler/checker-heritage.js +900 -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 +441 -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 +198 -0
- package/dist/api/compiler/checker-members.js +2126 -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 +479 -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 +270 -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 +788 -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 +67 -0
- package/dist/api/compiler/checker-symbol-types.js +1885 -0
- package/dist/api/compiler/checker-symbols.d.ts +181 -0
- package/dist/api/compiler/checker-symbols.js +1782 -0
- package/dist/api/compiler/checker-type-factory.d.ts +142 -0
- package/dist/api/compiler/checker-type-factory.js +2501 -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 +1027 -0
- package/dist/api/compiler/checker-types.js +1697 -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 +491 -0
- package/dist/api/compiler/checker.js +912 -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 +167 -0
- package/dist/api/compiler/diagnostics.js +820 -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 +117 -0
- package/dist/api/compiler/file-include.js +536 -0
- package/dist/api/compiler/file-loader.d.ts +261 -0
- package/dist/api/compiler/file-loader.js +1257 -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 +799 -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 +36 -0
- package/dist/api/compiler/link-tables.js +83 -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 +744 -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 +219 -0
- package/dist/api/compiler/parallel-parse.js +537 -0
- package/dist/api/compiler/parser.d.ts +587 -0
- package/dist/api/compiler/parser.js +6407 -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 +154 -0
- package/dist/api/compiler/printer/emit-context.js +576 -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 +526 -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 +1011 -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 +894 -0
- package/dist/api/compiler/symbol.d.ts +240 -0
- package/dist/api/compiler/symbol.js +228 -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 +676 -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 +538 -0
- package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
- package/dist/api/compiler/transformers/declarations-pseudo.js +797 -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 +197 -0
- package/dist/api/compiler/transformers/declarations.d.ts +175 -0
- package/dist/api/compiler/transformers/declarations.js +2380 -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 +128 -0
- package/dist/api/compiler/transformers/reference-resolver.js +1155 -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 +9 -0
- package/dist/api/compiler/transformers/subtree-facts.js +203 -0
- package/dist/api/compiler/transformers/syntax-facts.d.ts +51 -0
- package/dist/api/compiler/transformers/syntax-facts.js +254 -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 +74 -0
- package/dist/api/library/ast.generated.d.ts +1145 -0
- package/dist/api/library/ast.generated.js +3 -0
- package/dist/api/library/ast.js +5 -0
- package/dist/api/library/checker.d.ts +51 -0
- package/dist/api/library/checker.js +318 -0
- package/dist/api/library/compiler-options.generated.d.ts +108 -0
- package/dist/api/library/compiler-options.generated.js +3 -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/enums.generated.d.ts +891 -0
- package/dist/api/library/enums.generated.js +916 -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 +14 -0
- package/dist/api/library/index.js +15 -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/symbols.d.ts +8 -0
- package/dist/api/library/symbols.js +11 -0
- package/dist/api/library/types.d.ts +313 -0
- package/dist/api/library/types.js +6 -0
- package/package.json +22 -8
- package/src/compiler/ast-utilities.ts +548 -0
- package/src/compiler/ast.ts +12862 -0
- package/src/compiler/astnav.ts +799 -0
- package/src/compiler/binder-utilities.ts +1392 -0
- package/src/compiler/binder.ts +2703 -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 +1194 -0
- package/src/compiler/checker-declared-types.ts +919 -0
- package/src/compiler/checker-decorators.ts +694 -0
- package/src/compiler/checker-deprecation.ts +359 -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 +3584 -0
- package/src/compiler/checker-heritage.ts +1233 -0
- package/src/compiler/checker-inference.ts +2576 -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 +1924 -0
- package/src/compiler/checker-literals.ts +61 -0
- package/src/compiler/checker-members.ts +2436 -0
- package/src/compiler/checker-modules.ts +2886 -0
- package/src/compiler/checker-narrowing.ts +3230 -0
- package/src/compiler/checker-object-literals.ts +575 -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 +2107 -0
- package/src/compiler/checker-symbols.ts +2150 -0
- package/src/compiler/checker-type-factory.ts +2579 -0
- package/src/compiler/checker-type-nodes.ts +1033 -0
- package/src/compiler/checker-type-operators.ts +2502 -0
- package/src/compiler/checker-types.ts +2340 -0
- package/src/compiler/checker-unused.ts +642 -0
- package/src/compiler/checker-utilities.ts +161 -0
- package/src/compiler/checker.ts +1116 -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 +897 -0
- package/src/compiler/emitter.ts +434 -0
- package/src/compiler/encoder.ts +1945 -0
- package/src/compiler/file-include.ts +673 -0
- package/src/compiler/file-loader.ts +1528 -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 +2784 -0
- package/src/compiler/init.ts +141 -0
- package/src/compiler/instantiation.ts +894 -0
- package/src/compiler/jsdoc.ts +1386 -0
- package/src/compiler/link-tables.ts +98 -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 +1069 -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 +3425 -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 +1951 -0
- package/src/compiler/parallel-parse.ts +590 -0
- package/src/compiler/parse-thread.ts +140 -0
- package/src/compiler/parser.ts +7716 -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 +679 -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 +592 -0
- package/src/compiler/program-utilities.ts +435 -0
- package/src/compiler/program.ts +1419 -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 +1071 -0
- package/src/compiler/symbol.ts +439 -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 +832 -0
- package/src/compiler/transformers/declarations-pseudo.ts +966 -0
- package/src/compiler/transformers/declarations-resolver.ts +249 -0
- package/src/compiler/transformers/declarations-syntactic.ts +1859 -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 +1201 -0
- package/src/compiler/transformers/runtime-syntax.ts +942 -0
- package/src/compiler/transformers/subtree-facts.ts +245 -0
- package/src/compiler/transformers/syntax-facts.ts +353 -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 +1418 -0
- package/src/compiler/tsc-cli.ts +666 -0
- package/src/compiler/tsc-compile.ts +437 -0
- package/src/compiler/tsc-watch.ts +854 -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 +1685 -0
- package/src/library/ast.ts +104 -0
- package/src/library/checker.ts +384 -0
- package/src/library/compiler-options.generated.ts +114 -0
- package/src/library/diagnostics.ts +72 -0
- package/src/library/disk.ts +73 -0
- package/src/library/enums.generated.ts +1024 -0
- package/src/library/errors.ts +26 -0
- package/src/library/host.ts +63 -0
- package/src/library/index.ts +71 -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/symbols.ts +15 -0
- package/src/library/types.ts +359 -0
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
// Programs of tsc-ts's public API: createProgram, parseConfigFile and Program.
|
|
2
|
+
|
|
3
|
+
// The emit pipeline, loaded first as tsc-ts's command line loads it: programs and checked programs refer to its
|
|
4
|
+
// classes (EmitIndexes, EmitResult), which scriptc compiles only when the program imports their modules as values.
|
|
5
|
+
// CheckedProgram is imported through it, not as a side effect, so that the declarations of tsc-ts/api don't import
|
|
6
|
+
// the compiler's modules.
|
|
7
|
+
import { CheckedProgram } from '../compiler/compile-program.js';
|
|
8
|
+
import type { SourceFile as CompilerSourceFile } from '../compiler/ast.js';
|
|
9
|
+
import { dropLibGlobals } from '../compiler/checker-symbols.js';
|
|
10
|
+
import type { Diagnostic as CompilerDiagnostic } from '../compiler/diagnostics.js';
|
|
11
|
+
import { CachedFileSystem } from '../compiler/file-system.js';
|
|
12
|
+
import { getNormalizedAbsolutePath } from '../compiler/path.js';
|
|
13
|
+
import { Program as CompilerProgram, sortAndDeduplicateDiagnostics } from '../compiler/program.js';
|
|
14
|
+
import { ConfigParser, ParsedCommandLine } from '../compiler/tsconfig.js';
|
|
15
|
+
import type { SourceFile } from './ast.js';
|
|
16
|
+
import { LibraryTypeChecker } from './checker.js';
|
|
17
|
+
import type { CompilerOptions } from './compiler-options.generated.js';
|
|
18
|
+
import { type DiagnosticKind, diagnosticOf, programDiagnostics } from './diagnostics.js';
|
|
19
|
+
import { DisposedProgramError, internalError } from './errors.js';
|
|
20
|
+
import { HostFileSystem, LibraryCompilerHost } from './host.js';
|
|
21
|
+
import { type ApiCompilerOptions, compilerOptionsFromApi, compilerOptionsOf } from './options.js';
|
|
22
|
+
import type {
|
|
23
|
+
CreateProgramOptions,
|
|
24
|
+
Diagnostic,
|
|
25
|
+
ParsedConfigFile,
|
|
26
|
+
Program,
|
|
27
|
+
ProgramHost,
|
|
28
|
+
SourceFileMetadata,
|
|
29
|
+
TypeChecker,
|
|
30
|
+
} from './types.js';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A program of `rootNames` with `options`, reading files through `host`. It loads its files as `tsc-ts`
|
|
34
|
+
* loads a project's: resolving imports and references from the root files, with the default libraries of
|
|
35
|
+
* the options from the host's default library directory.
|
|
36
|
+
*/
|
|
37
|
+
export function createProgram(options: CreateProgramOptions): Program {
|
|
38
|
+
try {
|
|
39
|
+
const host = options.host;
|
|
40
|
+
const currentDirectory = host.getCurrentDirectory();
|
|
41
|
+
const rootNames = options.rootNames.map((name) => getNormalizedAbsolutePath(name, currentDirectory));
|
|
42
|
+
const config = new ParsedCommandLine(
|
|
43
|
+
compilerOptionsFromApi(options.options as ApiCompilerOptions),
|
|
44
|
+
undefined,
|
|
45
|
+
rootNames,
|
|
46
|
+
[],
|
|
47
|
+
undefined,
|
|
48
|
+
[],
|
|
49
|
+
currentDirectory,
|
|
50
|
+
host.useCaseSensitiveFileNames(),
|
|
51
|
+
rootNames.length,
|
|
52
|
+
);
|
|
53
|
+
return programOf(config, host);
|
|
54
|
+
} catch (e) {
|
|
55
|
+
throw internalError(e);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** The program of a config file (`parseConfigFile`'s options and files), reading files through `host`. */
|
|
60
|
+
export function createProgramFromConfigFile(configFileName: string, host: ProgramHost): Program {
|
|
61
|
+
try {
|
|
62
|
+
return programOf(parsedConfig(configFileName, host).config, host);
|
|
63
|
+
} catch (e) {
|
|
64
|
+
throw internalError(e);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The options and root files of a config file, with the diagnostics of reading it, as `tsc-ts --api`'s
|
|
70
|
+
* parseConfigFile returns them. A config file that can't be read gives one diagnostic and no files.
|
|
71
|
+
*/
|
|
72
|
+
export function parseConfigFile(configFileName: string, host: ProgramHost): ParsedConfigFile {
|
|
73
|
+
try {
|
|
74
|
+
const { config, errors } = parsedConfig(configFileName, host);
|
|
75
|
+
return {
|
|
76
|
+
options: compilerOptionsOf(config.options) as CompilerOptions,
|
|
77
|
+
fileNames: config.fileNames.slice(),
|
|
78
|
+
diagnostics: errors.map(diagnosticOf),
|
|
79
|
+
};
|
|
80
|
+
} catch (e) {
|
|
81
|
+
throw internalError(e);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function parsedConfig(
|
|
86
|
+
configFileName: string,
|
|
87
|
+
host: ProgramHost,
|
|
88
|
+
): { config: ParsedCommandLine; errors: CompilerDiagnostic[] } {
|
|
89
|
+
const currentDirectory = host.getCurrentDirectory();
|
|
90
|
+
const errors: CompilerDiagnostic[] = [];
|
|
91
|
+
const config =
|
|
92
|
+
new ConfigParser(new HostFileSystem(host), currentDirectory).parseConfigFile(
|
|
93
|
+
getNormalizedAbsolutePath(configFileName, currentDirectory),
|
|
94
|
+
undefined,
|
|
95
|
+
undefined,
|
|
96
|
+
errors,
|
|
97
|
+
) ??
|
|
98
|
+
new ParsedCommandLine(
|
|
99
|
+
{},
|
|
100
|
+
undefined,
|
|
101
|
+
[],
|
|
102
|
+
[],
|
|
103
|
+
undefined,
|
|
104
|
+
errors,
|
|
105
|
+
currentDirectory,
|
|
106
|
+
host.useCaseSensitiveFileNames(),
|
|
107
|
+
0,
|
|
108
|
+
);
|
|
109
|
+
return { config, errors: config.errors };
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function programOf(config: ParsedCommandLine, host: ProgramHost): Program {
|
|
113
|
+
const fs = new CachedFileSystem(new HostFileSystem(host));
|
|
114
|
+
const compilerHost = new LibraryCompilerHost(fs, host.getCurrentDirectory(), host.getDefaultLibraryDirectory());
|
|
115
|
+
return new LibraryProgram(new CheckedProgram(new CompilerProgram(config, compilerHost)));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* TypeScript's `getPreEmitDiagnostics`: the config file parsing, program, syntactic, global and semantic
|
|
120
|
+
* diagnostics of `program` (of `sourceFile` only, for the syntactic and semantic ones), sorted and without
|
|
121
|
+
* duplicates as tsc-ts sorts them. `program` must be one tsc-ts/api created.
|
|
122
|
+
*/
|
|
123
|
+
export function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile): readonly Diagnostic[] {
|
|
124
|
+
if (!(program instanceof LibraryProgram))
|
|
125
|
+
throw new TypeError('getPreEmitDiagnostics takes a program created by tsc-ts/api');
|
|
126
|
+
return program.preEmitDiagnostics(sourceFile);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
class LibraryProgram implements Program {
|
|
130
|
+
private options: CompilerOptions | undefined = undefined;
|
|
131
|
+
private typeChecker: LibraryTypeChecker | undefined = undefined;
|
|
132
|
+
private disposed = false;
|
|
133
|
+
|
|
134
|
+
constructor(private readonly checked: CheckedProgram) {}
|
|
135
|
+
|
|
136
|
+
private get program(): CompilerProgram {
|
|
137
|
+
this.checkNotDisposed();
|
|
138
|
+
return this.checked.program;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
private checkNotDisposed(): void {
|
|
142
|
+
if (this.disposed) throw new DisposedProgramError();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
getCompilerOptions(): CompilerOptions {
|
|
146
|
+
try {
|
|
147
|
+
this.options ??= compilerOptionsOf(this.program.options) as CompilerOptions;
|
|
148
|
+
return this.options;
|
|
149
|
+
} catch (e) {
|
|
150
|
+
throw internalError(e);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
getSourceFile(fileName: string): SourceFile | undefined {
|
|
155
|
+
try {
|
|
156
|
+
return this.program.getSourceFile(fileName) as unknown as SourceFile | undefined;
|
|
157
|
+
} catch (e) {
|
|
158
|
+
throw internalError(e);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
getSourceFiles(): readonly SourceFile[] {
|
|
163
|
+
try {
|
|
164
|
+
return this.program.getSourceFiles() as unknown as readonly SourceFile[];
|
|
165
|
+
} catch (e) {
|
|
166
|
+
throw internalError(e);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
getSourceFileNames(): readonly string[] {
|
|
171
|
+
try {
|
|
172
|
+
return this.program.getSourceFiles().map((file) => file.fileName);
|
|
173
|
+
} catch (e) {
|
|
174
|
+
throw internalError(e);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
getSourceFileMetadata(fileName: string): SourceFileMetadata | undefined {
|
|
179
|
+
try {
|
|
180
|
+
const program = this.program;
|
|
181
|
+
const file = program.getSourceFile(fileName);
|
|
182
|
+
if (file === undefined) return undefined;
|
|
183
|
+
const metadata = program.sourceFileMetadata(file.path);
|
|
184
|
+
return {
|
|
185
|
+
isDefaultLibrary: program.isSourceFileDefaultLibrary(file.path),
|
|
186
|
+
isFromExternalLibrary: program.isSourceFileFromExternalLibrary(file),
|
|
187
|
+
packageJsonType: metadata.packageJsonType,
|
|
188
|
+
packageJsonDirectory: metadata.packageJsonDirectory,
|
|
189
|
+
impliedNodeFormat: metadata.impliedNodeFormat,
|
|
190
|
+
};
|
|
191
|
+
} catch (e) {
|
|
192
|
+
throw internalError(e);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
isSourceFileDefaultLibrary(file: SourceFile): boolean {
|
|
197
|
+
try {
|
|
198
|
+
return this.program.isSourceFileDefaultLibrary((file as unknown as CompilerSourceFile).path);
|
|
199
|
+
} catch (e) {
|
|
200
|
+
throw internalError(e);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
isSourceFileFromExternalLibrary(file: SourceFile): boolean {
|
|
205
|
+
try {
|
|
206
|
+
return this.program.isSourceFileFromExternalLibrary(file as unknown as CompilerSourceFile);
|
|
207
|
+
} catch (e) {
|
|
208
|
+
throw internalError(e);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
getTypeChecker(): TypeChecker {
|
|
213
|
+
try {
|
|
214
|
+
if (this.typeChecker === undefined) {
|
|
215
|
+
this.checkNotDisposed();
|
|
216
|
+
this.typeChecker = new LibraryTypeChecker(this.checked.createChecker());
|
|
217
|
+
}
|
|
218
|
+
return this.typeChecker;
|
|
219
|
+
} catch (e) {
|
|
220
|
+
throw internalError(e);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
private diagnostics(kind: DiagnosticKind, file: SourceFile | undefined): readonly Diagnostic[] {
|
|
225
|
+
try {
|
|
226
|
+
this.checkNotDisposed();
|
|
227
|
+
return programDiagnostics(this.checked, kind, file as unknown as CompilerSourceFile | undefined).map(
|
|
228
|
+
diagnosticOf,
|
|
229
|
+
);
|
|
230
|
+
} catch (e) {
|
|
231
|
+
throw internalError(e);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
preEmitDiagnostics(file: SourceFile | undefined): readonly Diagnostic[] {
|
|
236
|
+
try {
|
|
237
|
+
this.checkNotDisposed();
|
|
238
|
+
const compilerFile = file as unknown as CompilerSourceFile | undefined;
|
|
239
|
+
const all: CompilerDiagnostic[] = [];
|
|
240
|
+
for (const kind of ['config', 'program', 'syntactic', 'global', 'semantic'] as const)
|
|
241
|
+
for (const d of programDiagnostics(
|
|
242
|
+
this.checked,
|
|
243
|
+
kind,
|
|
244
|
+
kind === 'syntactic' || kind === 'semantic' ? compilerFile : undefined,
|
|
245
|
+
))
|
|
246
|
+
all.push(d);
|
|
247
|
+
return sortAndDeduplicateDiagnostics(all).map(diagnosticOf);
|
|
248
|
+
} catch (e) {
|
|
249
|
+
throw internalError(e);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
getSyntacticDiagnostics(file?: SourceFile): readonly Diagnostic[] {
|
|
254
|
+
return this.diagnostics('syntactic', file);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
getBindDiagnostics(file?: SourceFile): readonly Diagnostic[] {
|
|
258
|
+
return this.diagnostics('bind', file);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
getSemanticDiagnostics(file?: SourceFile): readonly Diagnostic[] {
|
|
262
|
+
return this.diagnostics('semantic', file);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
getSuggestionDiagnostics(file?: SourceFile): readonly Diagnostic[] {
|
|
266
|
+
return this.diagnostics('suggestion', file);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
getDeclarationDiagnostics(file?: SourceFile): readonly Diagnostic[] {
|
|
270
|
+
return this.diagnostics('declaration', file);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
getProgramDiagnostics(): readonly Diagnostic[] {
|
|
274
|
+
return this.diagnostics('program', undefined);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
getGlobalDiagnostics(): readonly Diagnostic[] {
|
|
278
|
+
return this.diagnostics('global', undefined);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
getConfigFileParsingDiagnostics(): readonly Diagnostic[] {
|
|
282
|
+
return this.diagnostics('config', undefined);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
dispose(): void {
|
|
286
|
+
if (this.disposed) return;
|
|
287
|
+
this.typeChecker?.dispose();
|
|
288
|
+
this.typeChecker = undefined;
|
|
289
|
+
this.checked.disposeCheckers();
|
|
290
|
+
dropLibGlobals(this.checked.program.getSourceFiles());
|
|
291
|
+
this.disposed = true;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Symbol functions of tsc-ts's public API.
|
|
2
|
+
|
|
3
|
+
import type { Symbol } from './types.js';
|
|
4
|
+
|
|
5
|
+
/** The prefix of tsc-ts's internal symbol names (`internalSymbolNamePrefix` in compiler/symbol.ts). */
|
|
6
|
+
export const internalNamePrefix = '';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The name of `symbol`, as TypeScript 7's API gives it: internal names start with `__` (`__call`,
|
|
10
|
+
* `__type`, `__object`), and `default`, `export=`, `this` and `module.exports` are written as they are.
|
|
11
|
+
*/
|
|
12
|
+
export function symbolName(symbol: Symbol): string {
|
|
13
|
+
const name = (symbol as unknown as { readonly name: string }).name;
|
|
14
|
+
return name.startsWith(internalNamePrefix) ? '__' + name.substring(1) : name;
|
|
15
|
+
}
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
// The program, checker, symbol, type and signature types of tsc-ts's public API. They follow TypeScript 7's
|
|
2
|
+
// API (`typescript/unstable/sync`): the same names, and the same answers for the same program. The objects
|
|
3
|
+
// are tsc-ts's own: one object per symbol, type and signature in a program, so they can be compared with
|
|
4
|
+
// `===` and used as Map keys. Everything here is read-only: nothing the API does changes what tsc-ts
|
|
5
|
+
// reports for the program.
|
|
6
|
+
|
|
7
|
+
import type { Expression, Identifier, Node, SourceFile, TypeNode } from './ast.js';
|
|
8
|
+
import type { CompilerOptions } from './compiler-options.generated.js';
|
|
9
|
+
import type {
|
|
10
|
+
DiagnosticCategory,
|
|
11
|
+
ElementFlags,
|
|
12
|
+
ModuleKind,
|
|
13
|
+
ObjectFlags,
|
|
14
|
+
SignatureFlags,
|
|
15
|
+
SignatureKind,
|
|
16
|
+
SymbolFlags,
|
|
17
|
+
TypeFlags,
|
|
18
|
+
TypeFormatFlags,
|
|
19
|
+
TypePredicateKind,
|
|
20
|
+
} from './enums.generated.js';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The escaped form of a symbol name, the key of member and export tables: internal names start with
|
|
24
|
+
* `__` (`__call`, `__type`), and names that already start with `__` have one more `_`.
|
|
25
|
+
*/
|
|
26
|
+
export type __String = string & { readonly __escapedIdentifier: void };
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* A symbol. Its name, as TypeScript 7's API gives it, is `symbolName(symbol)`; `escapedName` is the key
|
|
30
|
+
* of the tables it is a member or export of.
|
|
31
|
+
*/
|
|
32
|
+
export interface Symbol {
|
|
33
|
+
/** Unique in the process. */
|
|
34
|
+
readonly id: number;
|
|
35
|
+
readonly escapedName: __String;
|
|
36
|
+
readonly flags: SymbolFlags;
|
|
37
|
+
readonly checkFlags: number;
|
|
38
|
+
readonly declarations: readonly Node[];
|
|
39
|
+
readonly valueDeclaration: Node | undefined;
|
|
40
|
+
getParent(): Symbol | undefined;
|
|
41
|
+
/** The symbol's export symbol, or the symbol itself if it has none. */
|
|
42
|
+
getExportSymbol(): Symbol;
|
|
43
|
+
/** The members, by escaped name. */
|
|
44
|
+
getMembers(): ReadonlyMap<__String, Symbol>;
|
|
45
|
+
/** The exports, by escaped name. */
|
|
46
|
+
getExports(): ReadonlyMap<__String, Symbol>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* A type. Its flags give its kind; the accessors answer undefined, or an empty list, where a kind has no
|
|
51
|
+
* such part. Type ids are unique within the program's checker.
|
|
52
|
+
*/
|
|
53
|
+
export interface Type {
|
|
54
|
+
readonly flags: TypeFlags;
|
|
55
|
+
/**
|
|
56
|
+
* The object flags of an object type (TypeFlags.Object). Other types carry flags the checker keeps for
|
|
57
|
+
* itself, such as ObjectFlags.PrimitiveUnion, where TypeScript 7's API gives 0. Flags the checker
|
|
58
|
+
* caches, such as ObjectFlags.MembersResolved, are set as queries compute them.
|
|
59
|
+
*/
|
|
60
|
+
readonly objectFlags: ObjectFlags;
|
|
61
|
+
readonly id: number;
|
|
62
|
+
getSymbol(): Symbol | undefined;
|
|
63
|
+
getAliasSymbol(): Symbol | undefined;
|
|
64
|
+
getAliasTypeArguments(): readonly Type[];
|
|
65
|
+
/** The target of a type reference, index type (`keyof T`) or string mapping type. */
|
|
66
|
+
getTarget(): Type | undefined;
|
|
67
|
+
/** The members of a union or intersection, or the types of a template literal type. */
|
|
68
|
+
getTypes(): readonly Type[];
|
|
69
|
+
getFreshType(): Type | undefined;
|
|
70
|
+
getRegularType(): Type | undefined;
|
|
71
|
+
getObjectType(): Type | undefined;
|
|
72
|
+
getIndexType(): Type | undefined;
|
|
73
|
+
getCheckType(): Type | undefined;
|
|
74
|
+
getExtendsType(): Type | undefined;
|
|
75
|
+
getTrueType(): Type | undefined;
|
|
76
|
+
getFalseType(): Type | undefined;
|
|
77
|
+
/** The base type of a substitution type. */
|
|
78
|
+
getBaseType(): Type | undefined;
|
|
79
|
+
/** The constraint of a substitution type. */
|
|
80
|
+
getConstraint(): Type | undefined;
|
|
81
|
+
getTypeParameters(): readonly TypeParameter[];
|
|
82
|
+
getOuterTypeParameters(): readonly TypeParameter[];
|
|
83
|
+
getLocalTypeParameters(): readonly TypeParameter[];
|
|
84
|
+
/** The base types of a class or interface type, or undefined for any other type. */
|
|
85
|
+
getBaseTypes(): readonly Type[] | undefined;
|
|
86
|
+
isClassOrInterface(): this is InterfaceType;
|
|
87
|
+
isUnionType(): this is UnionType;
|
|
88
|
+
isIntersectionType(): this is IntersectionType;
|
|
89
|
+
isObjectType(): this is ObjectType;
|
|
90
|
+
isIntrinsicType(): this is IntrinsicType;
|
|
91
|
+
/** Whether this is the error type, which the checker gives where a type can't be determined. */
|
|
92
|
+
isErrorType(): boolean;
|
|
93
|
+
isLiteralType(): this is LiteralType;
|
|
94
|
+
isStringLiteralType(): this is StringLiteralType;
|
|
95
|
+
isNumberLiteralType(): this is NumberLiteralType;
|
|
96
|
+
isBigIntLiteralType(): this is BigIntLiteralType;
|
|
97
|
+
isBooleanLiteralType(): this is BooleanLiteralType;
|
|
98
|
+
isTypeReference(): this is TypeReference;
|
|
99
|
+
isTupleType(): this is TupleType;
|
|
100
|
+
isIndexType(): this is IndexType;
|
|
101
|
+
isIndexedAccessType(): this is IndexedAccessType;
|
|
102
|
+
isConditionalType(): this is ConditionalType;
|
|
103
|
+
isSubstitutionType(): this is SubstitutionType;
|
|
104
|
+
isTemplateLiteralType(): this is TemplateLiteralType;
|
|
105
|
+
isStringMappingType(): this is StringMappingType;
|
|
106
|
+
isTypeParameter(): this is TypeParameter;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** Literal types (TypeFlags.Literal) and computed enum types (TypeFlags.Enum). */
|
|
110
|
+
export interface FreshableType extends Type {
|
|
111
|
+
getFreshType(): FreshableType | undefined;
|
|
112
|
+
getRegularType(): FreshableType | undefined;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export interface LiteralType extends FreshableType {
|
|
116
|
+
readonly value: string | number | boolean | bigint;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export interface StringLiteralType extends LiteralType {
|
|
120
|
+
readonly value: string;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface NumberLiteralType extends LiteralType {
|
|
124
|
+
readonly value: number;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface BigIntLiteralType extends LiteralType {
|
|
128
|
+
readonly value: bigint;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface BooleanLiteralType extends LiteralType {
|
|
132
|
+
readonly value: boolean;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export interface ObjectType extends Type {}
|
|
136
|
+
|
|
137
|
+
export interface TypeReference extends ObjectType {
|
|
138
|
+
getTarget(): Type;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/** Classes and interfaces (ObjectFlags.ClassOrInterface). */
|
|
142
|
+
export interface InterfaceType extends TypeReference {
|
|
143
|
+
getBaseTypes(): readonly Type[];
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/** Tuple targets (ObjectFlags.Tuple). */
|
|
147
|
+
export interface TupleType extends InterfaceType {
|
|
148
|
+
readonly elementFlags: readonly ElementFlags[];
|
|
149
|
+
/** The number of initial required or optional elements. */
|
|
150
|
+
readonly fixedLength: number;
|
|
151
|
+
readonly readonly: boolean;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** A reference to a tuple type (`[string, number]`): `getTarget()` is the TupleType (`isTupleType()`). */
|
|
155
|
+
export interface TupleTypeReference extends TypeReference {}
|
|
156
|
+
|
|
157
|
+
export interface UnionOrIntersectionType extends Type {}
|
|
158
|
+
|
|
159
|
+
export interface UnionType extends UnionOrIntersectionType {}
|
|
160
|
+
|
|
161
|
+
export interface IntersectionType extends UnionOrIntersectionType {}
|
|
162
|
+
|
|
163
|
+
export interface TypeParameter extends Type {
|
|
164
|
+
/** Whether this is the `this` type of a class, interface or tuple. */
|
|
165
|
+
readonly isThisType: boolean;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export interface IndexType extends Type {
|
|
169
|
+
getTarget(): Type;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface IndexedAccessType extends Type {
|
|
173
|
+
getObjectType(): Type;
|
|
174
|
+
getIndexType(): Type;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface ConditionalType extends Type {
|
|
178
|
+
getCheckType(): Type;
|
|
179
|
+
getExtendsType(): Type;
|
|
180
|
+
getTrueType(): Type;
|
|
181
|
+
getFalseType(): Type;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface SubstitutionType extends Type {
|
|
185
|
+
getBaseType(): Type;
|
|
186
|
+
getConstraint(): Type;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface TemplateLiteralType extends Type {
|
|
190
|
+
/** The text segments, one more than the types between them. */
|
|
191
|
+
readonly texts: readonly string[];
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface StringMappingType extends Type {
|
|
195
|
+
getTarget(): Type;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** any, unknown, string, number, bigint, symbol, void, undefined, null, never, object and the error type. */
|
|
199
|
+
export interface IntrinsicType extends Type {
|
|
200
|
+
readonly intrinsicName: string;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export interface Signature {
|
|
204
|
+
/** Unique within the program's checker. */
|
|
205
|
+
readonly id: number;
|
|
206
|
+
/** Has a rest parameter, is a construct signature, is abstract (SignatureFlags). */
|
|
207
|
+
readonly flags: SignatureFlags;
|
|
208
|
+
readonly declaration: Node | undefined;
|
|
209
|
+
getTypeParameters(): readonly TypeParameter[];
|
|
210
|
+
getParameters(): readonly Symbol[];
|
|
211
|
+
getThisParameter(): Symbol | undefined;
|
|
212
|
+
/** The signature this one was instantiated from. */
|
|
213
|
+
getTarget(): Signature | undefined;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export interface IndexInfo {
|
|
217
|
+
readonly keyType: Type;
|
|
218
|
+
readonly type: Type;
|
|
219
|
+
readonly isReadonly: boolean;
|
|
220
|
+
readonly declaration: Node | undefined;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export interface TypePredicate {
|
|
224
|
+
readonly kind: TypePredicateKind;
|
|
225
|
+
/** The parameter an identifier predicate names; undefined for a `this` predicate. */
|
|
226
|
+
readonly parameterName: string | undefined;
|
|
227
|
+
readonly parameterIndex: number | undefined;
|
|
228
|
+
/** The asserted type; undefined for `asserts x`. */
|
|
229
|
+
readonly type: Type | undefined;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* A diagnostic, with its text and positions as TypeScript 7's API returns them. `fileName` is undefined
|
|
234
|
+
* for global and program diagnostics.
|
|
235
|
+
*/
|
|
236
|
+
export interface Diagnostic {
|
|
237
|
+
readonly fileName: string | undefined;
|
|
238
|
+
readonly pos: number;
|
|
239
|
+
readonly end: number;
|
|
240
|
+
readonly code: number;
|
|
241
|
+
readonly category: DiagnosticCategory;
|
|
242
|
+
readonly text: string;
|
|
243
|
+
readonly reportsUnnecessary: boolean;
|
|
244
|
+
readonly reportsDeprecated: boolean;
|
|
245
|
+
readonly messageChain: readonly Diagnostic[];
|
|
246
|
+
readonly relatedInformation: readonly Diagnostic[];
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export interface SourceFileMetadata {
|
|
250
|
+
readonly isDefaultLibrary: boolean;
|
|
251
|
+
readonly isFromExternalLibrary: boolean;
|
|
252
|
+
/** The `type` field of the file's nearest package.json, or '' if it has none. */
|
|
253
|
+
readonly packageJsonType: string;
|
|
254
|
+
/** The directory of the file's nearest package.json, or ''. */
|
|
255
|
+
readonly packageJsonDirectory: string;
|
|
256
|
+
readonly impliedNodeFormat: ModuleKind;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export interface FileSystemEntries {
|
|
260
|
+
readonly files: readonly string[];
|
|
261
|
+
readonly directories: readonly string[];
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Where a program reads files. Each callback may answer undefined to fall back to the real file system;
|
|
266
|
+
* `readFile` answers null for a file that doesn't exist.
|
|
267
|
+
*/
|
|
268
|
+
export interface ProgramHost {
|
|
269
|
+
readFile?(fileName: string): string | null | undefined;
|
|
270
|
+
fileExists?(fileName: string): boolean | undefined;
|
|
271
|
+
directoryExists?(directoryName: string): boolean | undefined;
|
|
272
|
+
realpath?(path: string): string | undefined;
|
|
273
|
+
getAccessibleEntries?(directoryName: string): FileSystemEntries | undefined;
|
|
274
|
+
getCurrentDirectory(): string;
|
|
275
|
+
useCaseSensitiveFileNames(): boolean;
|
|
276
|
+
/** The directory with TypeScript 7's `lib.*.d.ts` files. */
|
|
277
|
+
getDefaultLibraryDirectory(): string;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export interface CreateProgramOptions {
|
|
281
|
+
readonly rootNames: readonly string[];
|
|
282
|
+
readonly options: CompilerOptions;
|
|
283
|
+
readonly host: ProgramHost;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/** A config file's options and files, as `tsc-ts --api`'s parseConfigFile returns them. */
|
|
287
|
+
export interface ParsedConfigFile {
|
|
288
|
+
readonly options: CompilerOptions;
|
|
289
|
+
readonly fileNames: readonly string[];
|
|
290
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export interface Program {
|
|
294
|
+
getCompilerOptions(): CompilerOptions;
|
|
295
|
+
getSourceFile(fileName: string): SourceFile | undefined;
|
|
296
|
+
getSourceFiles(): readonly SourceFile[];
|
|
297
|
+
getSourceFileNames(): readonly string[];
|
|
298
|
+
getSourceFileMetadata(fileName: string): SourceFileMetadata | undefined;
|
|
299
|
+
isSourceFileDefaultLibrary(file: SourceFile): boolean;
|
|
300
|
+
isSourceFileFromExternalLibrary(file: SourceFile): boolean;
|
|
301
|
+
/** The program's checker for queries. Queries don't change the diagnostics the program reports. */
|
|
302
|
+
getTypeChecker(): TypeChecker;
|
|
303
|
+
getSyntacticDiagnostics(file?: SourceFile): readonly Diagnostic[];
|
|
304
|
+
getBindDiagnostics(file?: SourceFile): readonly Diagnostic[];
|
|
305
|
+
getSemanticDiagnostics(file?: SourceFile): readonly Diagnostic[];
|
|
306
|
+
getSuggestionDiagnostics(file?: SourceFile): readonly Diagnostic[];
|
|
307
|
+
getDeclarationDiagnostics(file?: SourceFile): readonly Diagnostic[];
|
|
308
|
+
getProgramDiagnostics(): readonly Diagnostic[];
|
|
309
|
+
getGlobalDiagnostics(): readonly Diagnostic[];
|
|
310
|
+
getConfigFileParsingDiagnostics(): readonly Diagnostic[];
|
|
311
|
+
/** Frees the program's checkers. The program and its objects must not be used after. */
|
|
312
|
+
dispose(): void;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export interface TypeChecker {
|
|
316
|
+
getSymbolAtLocation(node: Node): Symbol | undefined;
|
|
317
|
+
getTypeAtLocation(node: Node): Type | undefined;
|
|
318
|
+
getTypeOfSymbol(symbol: Symbol): Type | undefined;
|
|
319
|
+
getDeclaredTypeOfSymbol(symbol: Symbol): Type;
|
|
320
|
+
/** The type of a symbol as narrowed at `location`. */
|
|
321
|
+
getTypeOfSymbolAtLocation(symbol: Symbol, location: Node): Type;
|
|
322
|
+
getTypeArguments(type: TypeReference): readonly Type[];
|
|
323
|
+
/** The target of an alias (SymbolFlags.Alias); throws an InternalCompilerError for any other symbol. */
|
|
324
|
+
getAliasedSymbol(symbol: Symbol): Symbol;
|
|
325
|
+
getPropertyOfType(type: Type, name: string): Symbol | undefined;
|
|
326
|
+
getPropertiesOfType(type: Type): readonly Symbol[];
|
|
327
|
+
getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[];
|
|
328
|
+
getIndexInfosOfType(type: Type): readonly IndexInfo[];
|
|
329
|
+
getReturnTypeOfSignature(signature: Signature): Type | undefined;
|
|
330
|
+
getTypePredicateOfSignature(signature: Signature): TypePredicate | undefined;
|
|
331
|
+
getSignatureFromDeclaration(node: Node): Signature | undefined;
|
|
332
|
+
getResolvedSignature(node: Node): Signature | undefined;
|
|
333
|
+
getContextualType(node: Expression): Type | undefined;
|
|
334
|
+
getShorthandAssignmentValueSymbol(node: Node): Symbol | undefined;
|
|
335
|
+
getTypeFromTypeNode(node: TypeNode): Type | undefined;
|
|
336
|
+
getBaseTypeOfLiteralType(type: Type): Type | undefined;
|
|
337
|
+
getNonNullableType(type: Type): Type | undefined;
|
|
338
|
+
getBaseTypes(type: InterfaceType): readonly Type[];
|
|
339
|
+
getConstantValue(node: Node): string | number | undefined;
|
|
340
|
+
isArrayType(type: Type): boolean;
|
|
341
|
+
isTupleType(type: Type): boolean;
|
|
342
|
+
isArrayLikeType(type: Type): boolean;
|
|
343
|
+
isTypeAssignableTo(source: Type, target: Type): boolean;
|
|
344
|
+
resolveName(name: string, meaning: SymbolFlags, location?: Node, excludeGlobals?: boolean): Symbol | undefined;
|
|
345
|
+
/** The value `node` names where it is: `resolveName(node.text, SymbolFlags.Value | SymbolFlags.ExportValue, node)`. */
|
|
346
|
+
getResolvedSymbol(node: Identifier): Symbol | undefined;
|
|
347
|
+
/**
|
|
348
|
+
* The text TypeScript 7's API gives for `type`, printed in `enclosingDeclaration` with `flags`; without
|
|
349
|
+
* flags, or with 0, with TypeFormatFlags.AllowUniqueESSymbolType and UseAliasDefinedOutsideCurrentScope.
|
|
350
|
+
*/
|
|
351
|
+
typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;
|
|
352
|
+
getAnyType(): Type;
|
|
353
|
+
getUnknownType(): Type;
|
|
354
|
+
getNeverType(): Type;
|
|
355
|
+
getStringType(): Type;
|
|
356
|
+
getNumberType(): Type;
|
|
357
|
+
getBigIntType(): Type;
|
|
358
|
+
getBooleanType(): Type;
|
|
359
|
+
}
|