tsc-ts 0.0.9 → 0.1.0
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 +2 -2
- package/bin/tsc-ts.js +70 -1
- package/dist/api/compiler/ast-utilities.d.ts +19 -1
- package/dist/api/compiler/ast-utilities.js +180 -95
- package/dist/api/compiler/ast.d.ts +22 -15
- package/dist/api/compiler/ast.js +1026 -995
- package/dist/api/compiler/astnav.js +15 -15
- package/dist/api/compiler/binder-utilities.js +186 -186
- package/dist/api/compiler/binder.js +290 -263
- package/dist/api/compiler/character-codes.js +2 -2
- package/dist/api/compiler/checker-calls.js +178 -124
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +134 -90
- package/dist/api/compiler/checker-contextual.js +64 -61
- package/dist/api/compiler/checker-declaration-order.js +79 -79
- package/dist/api/compiler/checker-declarations.d.ts +1 -0
- package/dist/api/compiler/checker-declarations.js +160 -136
- package/dist/api/compiler/checker-declared-types.js +67 -65
- package/dist/api/compiler/checker-decorators.js +77 -77
- package/dist/api/compiler/checker-deprecation.d.ts +8 -3
- package/dist/api/compiler/checker-deprecation.js +76 -55
- package/dist/api/compiler/checker-destructuring.js +47 -45
- package/dist/api/compiler/checker-elaboration.js +24 -24
- package/dist/api/compiler/checker-emit-helpers.js +4 -4
- package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
- package/dist/api/compiler/checker-emit-resolver.js +25 -13
- package/dist/api/compiler/checker-evaluator.js +9 -9
- package/dist/api/compiler/checker-expressions.js +244 -211
- package/dist/api/compiler/checker-functions.js +113 -107
- package/dist/api/compiler/checker-generated-code.d.ts +0 -11
- package/dist/api/compiler/checker-generated-code.js +28 -52
- package/dist/api/compiler/checker-grammar.d.ts +1 -0
- package/dist/api/compiler/checker-grammar.js +472 -440
- package/dist/api/compiler/checker-heritage.js +91 -93
- package/dist/api/compiler/checker-inference.d.ts +77 -5
- package/dist/api/compiler/checker-inference.js +487 -107
- package/dist/api/compiler/checker-iteration.d.ts +0 -10
- package/dist/api/compiler/checker-iteration.js +35 -52
- package/dist/api/compiler/checker-javascript.js +14 -14
- package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
- package/dist/api/compiler/checker-jsdoc.js +67 -58
- package/dist/api/compiler/checker-jsx.js +105 -88
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +212 -75
- package/dist/api/compiler/checker-modules.d.ts +15 -6
- package/dist/api/compiler/checker-modules.js +469 -309
- package/dist/api/compiler/checker-narrowing.js +273 -189
- package/dist/api/compiler/checker-object-literals.js +25 -22
- package/dist/api/compiler/checker-operators.js +126 -118
- package/dist/api/compiler/checker-overloads.js +27 -27
- package/dist/api/compiler/checker-property-access.js +59 -55
- package/dist/api/compiler/checker-services.d.ts +1 -0
- package/dist/api/compiler/checker-services.js +222 -210
- package/dist/api/compiler/checker-signatures.js +65 -49
- package/dist/api/compiler/checker-source-file.d.ts +5 -0
- package/dist/api/compiler/checker-source-file.js +154 -130
- package/dist/api/compiler/checker-statements.js +33 -32
- package/dist/api/compiler/checker-super.js +50 -50
- package/dist/api/compiler/checker-symbol-types.js +109 -93
- package/dist/api/compiler/checker-symbols.d.ts +13 -1
- package/dist/api/compiler/checker-symbols.js +264 -149
- package/dist/api/compiler/checker-type-factory.d.ts +5 -0
- package/dist/api/compiler/checker-type-factory.js +145 -36
- package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
- package/dist/api/compiler/checker-type-nodes.js +179 -141
- package/dist/api/compiler/checker-type-operators.d.ts +2 -0
- package/dist/api/compiler/checker-type-operators.js +110 -63
- package/dist/api/compiler/checker-types.d.ts +80 -3
- package/dist/api/compiler/checker-types.js +121 -2
- package/dist/api/compiler/checker-unused.js +114 -118
- package/dist/api/compiler/checker-utilities.js +11 -11
- package/dist/api/compiler/checker.d.ts +104 -31
- package/dist/api/compiler/checker.js +181 -33
- package/dist/api/compiler/command-line.d.ts +1 -3
- package/dist/api/compiler/command-line.js +47 -44
- package/dist/api/compiler/compile-program.d.ts +42 -3
- package/dist/api/compiler/compile-program.js +139 -27
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.d.ts +22 -0
- package/dist/api/compiler/diagnostics.js +93 -11
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/file-include.d.ts +2 -1
- package/dist/api/compiler/file-include.js +11 -7
- package/dist/api/compiler/file-loader.d.ts +21 -1
- package/dist/api/compiler/file-loader.js +201 -48
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +23 -23
- package/dist/api/compiler/link-tables.d.ts +48 -18
- package/dist/api/compiler/link-tables.js +80 -37
- package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
- package/dist/api/compiler/locales/cs-CZ.js +1 -1
- package/dist/api/compiler/locales/de-DE.d.ts +1 -1
- package/dist/api/compiler/locales/de-DE.js +1 -1
- package/dist/api/compiler/locales/es-ES.d.ts +1 -1
- package/dist/api/compiler/locales/es-ES.js +1 -1
- package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
- package/dist/api/compiler/locales/fr-FR.js +1 -1
- package/dist/api/compiler/locales/it-IT.d.ts +1 -1
- package/dist/api/compiler/locales/it-IT.js +1 -1
- package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
- package/dist/api/compiler/locales/ja-JP.js +1 -1
- package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
- package/dist/api/compiler/locales/ko-KR.js +1 -1
- package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
- package/dist/api/compiler/locales/pl-PL.js +1 -1
- package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
- package/dist/api/compiler/locales/pt-BR.js +1 -1
- package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
- package/dist/api/compiler/locales/ru-RU.js +1 -1
- package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
- package/dist/api/compiler/locales/tr-TR.js +1 -1
- package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
- package/dist/api/compiler/locales/zh-CN.js +1 -1
- package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
- package/dist/api/compiler/locales/zh-TW.js +1 -1
- package/dist/api/compiler/module-resolution-types.js +6 -6
- package/dist/api/compiler/module-resolution.d.ts +10 -1
- package/dist/api/compiler/module-resolution.js +115 -84
- package/dist/api/compiler/module-specifiers.d.ts +15 -0
- package/dist/api/compiler/module-specifiers.js +24 -18
- package/dist/api/compiler/name-resolver.js +74 -65
- package/dist/api/compiler/node-builder-names.d.ts +11 -3
- package/dist/api/compiler/node-builder-names.js +210 -90
- package/dist/api/compiler/node-builder-pseudo.js +29 -31
- package/dist/api/compiler/node-builder-reuse.js +23 -22
- package/dist/api/compiler/node-builder.d.ts +18 -1
- package/dist/api/compiler/node-builder.js +191 -102
- package/dist/api/compiler/option-declarations.d.ts +2 -6
- package/dist/api/compiler/option-declarations.js +315 -375
- package/dist/api/compiler/options.d.ts +15 -33
- package/dist/api/compiler/options.js +21 -54
- package/dist/api/compiler/output-paths.d.ts +4 -1
- package/dist/api/compiler/output-paths.js +6 -11
- package/dist/api/compiler/package-json.d.ts +3 -3
- package/dist/api/compiler/package-json.js +11 -10
- package/dist/api/compiler/parallel-parse.d.ts +3 -2
- package/dist/api/compiler/parallel-parse.js +17 -5
- package/dist/api/compiler/parser.d.ts +40 -19
- package/dist/api/compiler/parser.js +308 -216
- package/dist/api/compiler/path.d.ts +9 -0
- package/dist/api/compiler/path.js +20 -3
- package/dist/api/compiler/printer/emit-context.d.ts +5 -1
- package/dist/api/compiler/printer/emit-context.js +20 -1
- package/dist/api/compiler/printer/factory-base.d.ts +2 -2
- package/dist/api/compiler/printer/factory-base.js +7 -3
- package/dist/api/compiler/printer/factory.js +3 -1
- package/dist/api/compiler/printer/helpers.js +10 -1
- package/dist/api/compiler/printer/name-generator.d.ts +1 -1
- package/dist/api/compiler/printer/name-generator.js +35 -16
- package/dist/api/compiler/printer/printer.d.ts +49 -2
- package/dist/api/compiler/printer/printer.js +539 -293
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +12 -2
- package/dist/api/compiler/program-checker.js +88 -34
- package/dist/api/compiler/program-utilities.d.ts +3 -1
- package/dist/api/compiler/program-utilities.js +28 -15
- package/dist/api/compiler/program.d.ts +4 -6
- package/dist/api/compiler/program.js +74 -87
- package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
- package/dist/api/compiler/pseudo-bigint.js +18 -0
- package/dist/api/compiler/regexp-checker.d.ts +1 -1
- package/dist/api/compiler/regexp-checker.js +93 -76
- package/dist/api/compiler/relations.d.ts +27 -4
- package/dist/api/compiler/relations.js +347 -180
- package/dist/api/compiler/reparser.js +60 -56
- package/dist/api/compiler/scanner.d.ts +19 -2
- package/dist/api/compiler/scanner.js +123 -108
- package/dist/api/compiler/shared-results.d.ts +463 -0
- package/dist/api/compiler/shared-results.js +2128 -0
- package/dist/api/compiler/sourcemap.js +2 -2
- package/dist/api/compiler/symbol-accessibility.js +87 -74
- package/dist/api/compiler/symbol.d.ts +23 -14
- package/dist/api/compiler/symbol.js +23 -11
- package/dist/api/compiler/syntax-kind.d.ts +198 -197
- package/dist/api/compiler/transformers/alias-references.js +247 -139
- package/dist/api/compiler/transformers/async-utilities.js +25 -25
- package/dist/api/compiler/transformers/async.d.ts +0 -1
- package/dist/api/compiler/transformers/async.js +64 -77
- package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
- package/dist/api/compiler/transformers/class-fields.js +81 -78
- package/dist/api/compiler/transformers/commonjs-module.js +18 -15
- package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
- package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
- package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
- package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
- package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
- package/dist/api/compiler/transformers/declarations.d.ts +4 -1
- package/dist/api/compiler/transformers/declarations.js +305 -238
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
- package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
- package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
- package/dist/api/compiler/transformers/destructuring.js +19 -18
- package/dist/api/compiler/transformers/emit-resolver.js +1 -1
- package/dist/api/compiler/transformers/es-decorators.js +55 -55
- package/dist/api/compiler/transformers/external-module-info.js +3 -3
- package/dist/api/compiler/transformers/for-await.js +25 -25
- package/dist/api/compiler/transformers/import-elision.js +14 -14
- package/dist/api/compiler/transformers/jsx.js +12 -12
- package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
- package/dist/api/compiler/transformers/module.js +8 -8
- package/dist/api/compiler/transformers/named-evaluation.js +4 -4
- package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
- package/dist/api/compiler/transformers/optional-chain.js +10 -10
- package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
- package/dist/api/compiler/transformers/reference-resolver.js +131 -69
- package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
- package/dist/api/compiler/transformers/subtree-facts.js +47 -47
- package/dist/api/compiler/transformers/syntax-facts.js +56 -58
- package/dist/api/compiler/transformers/type-eraser.js +73 -66
- package/dist/api/compiler/transformers/type-serialization.js +24 -24
- package/dist/api/compiler/transformers/using.js +12 -12
- package/dist/api/compiler/transformers/utilities.js +77 -77
- package/dist/api/compiler/transformers/visitor-base.js +172 -172
- package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
- package/dist/api/compiler/tsconfig.d.ts +10 -2
- package/dist/api/compiler/tsconfig.js +136 -48
- package/dist/api/compiler/type-printer.js +40 -3
- package/dist/api/compiler/types.d.ts +2 -1
- package/dist/api/library/ast.generated.d.ts +42 -39
- package/dist/api/library/ast.generated.js +1 -1
- package/dist/api/library/compiler-options.generated.d.ts +111 -100
- package/dist/api/library/compiler-options.generated.js +1 -1
- package/dist/api/library/disk.js +12 -1
- package/dist/api/library/enums.generated.d.ts +206 -206
- package/dist/api/library/enums.generated.js +206 -206
- package/dist/api/library/nodes.js +26 -26
- package/package.json +9 -9
- package/src/compiler/ast-utilities.ts +99 -7
- package/src/compiler/ast.ts +58 -26
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +79 -9
- package/src/compiler/checker-classes.ts +78 -24
- package/src/compiler/checker-contextual.ts +6 -1
- package/src/compiler/checker-declarations.ts +31 -4
- package/src/compiler/checker-declared-types.ts +8 -5
- package/src/compiler/checker-decorators.ts +1 -1
- package/src/compiler/checker-deprecation.ts +29 -8
- package/src/compiler/checker-destructuring.ts +10 -3
- package/src/compiler/checker-emit-helpers.ts +1 -0
- package/src/compiler/checker-emit-resolver.ts +16 -6
- package/src/compiler/checker-expressions.ts +79 -46
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +136 -62
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -82
- package/src/compiler/checker-iteration.ts +18 -31
- package/src/compiler/checker-javascript.ts +1 -1
- package/src/compiler/checker-jsdoc.ts +50 -27
- package/src/compiler/checker-jsx.ts +26 -4
- package/src/compiler/checker-members.ts +200 -56
- package/src/compiler/checker-modules.ts +332 -65
- package/src/compiler/checker-narrowing.ts +98 -19
- package/src/compiler/checker-object-literals.ts +3 -0
- package/src/compiler/checker-operators.ts +11 -4
- package/src/compiler/checker-property-access.ts +7 -2
- package/src/compiler/checker-services.ts +39 -12
- package/src/compiler/checker-signatures.ts +15 -1
- package/src/compiler/checker-source-file.ts +39 -13
- package/src/compiler/checker-statements.ts +3 -2
- package/src/compiler/checker-symbol-types.ts +29 -6
- package/src/compiler/checker-symbols.ts +158 -15
- package/src/compiler/checker-type-factory.ts +124 -23
- package/src/compiler/checker-type-nodes.ts +46 -3
- package/src/compiler/checker-type-operators.ts +83 -26
- package/src/compiler/checker-types.ts +147 -4
- package/src/compiler/checker-unused.ts +9 -14
- package/src/compiler/checker.ts +203 -39
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +167 -27
- package/src/compiler/decoder.ts +13 -4
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/diagnostics.ts +84 -3
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +197 -38
- package/src/compiler/help.ts +10 -14
- package/src/compiler/incremental.ts +165 -30
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +3 -1
- package/src/compiler/link-tables.ts +82 -37
- package/src/compiler/locales/cs-CZ.ts +1 -1
- package/src/compiler/locales/de-DE.ts +1 -1
- package/src/compiler/locales/es-ES.ts +1 -1
- package/src/compiler/locales/fr-FR.ts +1 -1
- package/src/compiler/locales/it-IT.ts +1 -1
- package/src/compiler/locales/ja-JP.ts +1 -1
- package/src/compiler/locales/ko-KR.ts +1 -1
- package/src/compiler/locales/pl-PL.ts +1 -1
- package/src/compiler/locales/pt-BR.ts +1 -1
- package/src/compiler/locales/ru-RU.ts +1 -1
- package/src/compiler/locales/tr-TR.ts +1 -1
- package/src/compiler/locales/zh-CN.ts +1 -1
- package/src/compiler/locales/zh-TW.ts +1 -1
- package/src/compiler/module-resolution.ts +44 -8
- package/src/compiler/module-specifiers.ts +62 -20
- package/src/compiler/name-resolver.ts +9 -1
- package/src/compiler/node-builder-names.ts +236 -54
- package/src/compiler/node-builder-pseudo.ts +4 -7
- package/src/compiler/node-builder-reuse.ts +5 -4
- package/src/compiler/node-builder.ts +130 -31
- package/src/compiler/option-declarations.ts +33 -103
- package/src/compiler/options.ts +23 -62
- package/src/compiler/output-paths.ts +5 -18
- package/src/compiler/package-entrypoints.ts +345 -0
- package/src/compiler/package-json.ts +4 -4
- package/src/compiler/parallel-check.ts +326 -52
- package/src/compiler/parallel-emit.ts +320 -0
- package/src/compiler/parallel-parse.ts +16 -5
- package/src/compiler/parse-thread.ts +3 -0
- package/src/compiler/parser.ts +156 -39
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +21 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +4 -1
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +266 -30
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +57 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +18 -26
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +240 -77
- package/src/compiler/reparser.ts +7 -2
- package/src/compiler/scanner.ts +109 -79
- package/src/compiler/shared-results.ts +2414 -0
- package/src/compiler/show-config.ts +18 -1
- package/src/compiler/sourcemap.ts +2 -2
- package/src/compiler/symbol-accessibility.ts +26 -3
- package/src/compiler/symbol.ts +46 -24
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +64 -4
- package/src/compiler/transformers/alias-references.ts +123 -4
- package/src/compiler/transformers/async.ts +2 -17
- package/src/compiler/transformers/class-fields.ts +13 -12
- package/src/compiler/transformers/commonjs-module.ts +11 -7
- package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
- package/src/compiler/transformers/declarations-pseudo.ts +2 -4
- package/src/compiler/transformers/declarations-resolver.ts +0 -3
- package/src/compiler/transformers/declarations-syntactic.ts +1 -21
- package/src/compiler/transformers/declarations.ts +134 -48
- package/src/compiler/transformers/decorator-metadata.ts +9 -1
- package/src/compiler/transformers/destructuring.ts +4 -3
- package/src/compiler/transformers/external-module-info.ts +1 -1
- package/src/compiler/transformers/jsx.ts +2 -1
- package/src/compiler/transformers/reference-resolver.ts +83 -19
- package/src/compiler/transformers/runtime-syntax.ts +6 -1
- package/src/compiler/transformers/syntax-facts.ts +2 -7
- package/src/compiler/transformers/type-eraser.ts +10 -1
- package/src/compiler/transformers/type-serialization.ts +3 -2
- package/src/compiler/transformers/visitor-base.ts +2 -1
- package/src/compiler/transformers/visitor-hooks.ts +9 -4
- package/src/compiler/tsc-build.ts +66 -9
- package/src/compiler/tsc-cli.ts +7 -0
- package/src/compiler/tsc-compile.ts +284 -4
- package/src/compiler/tsc-watch.ts +74 -45
- package/src/compiler/tsconfig.ts +176 -19
- package/src/compiler/type-printer.ts +36 -2
- package/src/compiler/types.ts +2 -1
- package/src/library/ast.generated.ts +57 -41
- package/src/library/compiler-options.generated.ts +117 -103
- package/src/library/disk.ts +10 -1
- package/src/library/enums.generated.ts +196 -196
|
@@ -19,6 +19,15 @@ export declare function getRootLength(path: string): number;
|
|
|
19
19
|
export declare function isUrl(path: string): boolean;
|
|
20
20
|
/** True for `/x`, `c:/x` and other disk roots (not URLs). */
|
|
21
21
|
export declare function isRootedDiskPath(path: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether Windows may resolve `path` over the network: a UNC path (`//server/share`), a Win32 device path
|
|
24
|
+
* (`//?/…`, `//./…`) or an NT object path (`/??/…`), with either separator. Device and object paths count even
|
|
25
|
+
* for local volumes, since their `UNC` and `GLOBALROOT` forms reach the network redirector. Accessing one can
|
|
26
|
+
* make Windows authenticate to an arbitrary host, so such paths are never accessed on any platform.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isNetworkPath(path: string): boolean;
|
|
29
|
+
/** Whether a path written in a config or on the command line names a network location once resolved. */
|
|
30
|
+
export declare function isNetworkPathValue(value: string, basePath: string): boolean;
|
|
22
31
|
export declare function pathIsAbsolute(path: string): boolean;
|
|
23
32
|
/** True for `.`, `..`, and paths starting with `./` or `../`. */
|
|
24
33
|
export declare function pathIsRelative(path: string): boolean;
|
|
@@ -128,6 +128,26 @@ export function isUrl(path) {
|
|
|
128
128
|
export function isRootedDiskPath(path) {
|
|
129
129
|
return getEncodedRootLength(path) > 0;
|
|
130
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Whether Windows may resolve `path` over the network: a UNC path (`//server/share`), a Win32 device path
|
|
133
|
+
* (`//?/…`, `//./…`) or an NT object path (`/??/…`), with either separator. Device and object paths count even
|
|
134
|
+
* for local volumes, since their `UNC` and `GLOBALROOT` forms reach the network redirector. Accessing one can
|
|
135
|
+
* make Windows authenticate to an arbitrary host, so such paths are never accessed on any platform.
|
|
136
|
+
*/
|
|
137
|
+
export function isNetworkPath(path) {
|
|
138
|
+
if (path.length < 2 || !isAnyDirectorySeparator(path.charCodeAt(0)))
|
|
139
|
+
return false;
|
|
140
|
+
if (isAnyDirectorySeparator(path.charCodeAt(1)))
|
|
141
|
+
return true;
|
|
142
|
+
return (path.length >= 3 &&
|
|
143
|
+
path.charCodeAt(1) === 0x3f &&
|
|
144
|
+
path.charCodeAt(2) === 0x3f &&
|
|
145
|
+
(path.length === 3 || isAnyDirectorySeparator(path.charCodeAt(3))));
|
|
146
|
+
}
|
|
147
|
+
/** Whether a path written in a config or on the command line names a network location once resolved. */
|
|
148
|
+
export function isNetworkPathValue(value, basePath) {
|
|
149
|
+
return isNetworkPath(getNormalizedAbsolutePath(value, basePath));
|
|
150
|
+
}
|
|
131
151
|
export function pathIsAbsolute(path) {
|
|
132
152
|
return getEncodedRootLength(path) !== 0;
|
|
133
153
|
}
|
|
@@ -376,9 +396,6 @@ function isNonDotDotPrefix(normalized, rootLength) {
|
|
|
376
396
|
/** Removes `.`, `..` and duplicate separators, keeping a trailing separator. */
|
|
377
397
|
export function normalizePath(path) {
|
|
378
398
|
path = normalizeSlashes(path);
|
|
379
|
-
const simple = simpleNormalizePath(path);
|
|
380
|
-
if (simple !== undefined)
|
|
381
|
-
return simple;
|
|
382
399
|
const normalized = getNormalizedAbsolutePath(path, '');
|
|
383
400
|
return normalized !== '' && hasTrailingDirectorySeparator(path)
|
|
384
401
|
? ensureTrailingDirectorySeparator(normalized)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionDeclaration, Identifier, type Node, NodeList, SourceFile } from '../ast.js';
|
|
1
|
+
import { Block, FunctionDeclaration, Identifier, type Node, NodeList, SourceFile } from '../ast.js';
|
|
2
2
|
import { ClusteredLinkTable } from '../link-tables.js';
|
|
3
3
|
import { SyntaxKind } from '../syntax-kind.js';
|
|
4
4
|
import { EmitFlags } from './emit-flags.js';
|
|
@@ -91,6 +91,8 @@ export declare class EmitContext extends NodeFactory {
|
|
|
91
91
|
getAutoGenerateInfo(node: Node): AutoGenerateInfo | undefined;
|
|
92
92
|
/** The node a generated name is based on, following clones of generated names. */
|
|
93
93
|
getNodeForGeneratedName(name: Node): Node;
|
|
94
|
+
/** Whether `node` has emit data: flags, ranges, helpers or synthesized comments. */
|
|
95
|
+
hasEmitNode(node: Node): boolean;
|
|
94
96
|
getEmitFlags(node: Node): EmitFlags;
|
|
95
97
|
setEmitFlags(node: Node, flags: EmitFlags): Node;
|
|
96
98
|
addEmitFlags(node: Node, flags: EmitFlags): Node;
|
|
@@ -140,6 +142,8 @@ export declare class EmitContext extends NodeFactory {
|
|
|
140
142
|
addLexicalDeclaration(name: Identifier): Identifier;
|
|
141
143
|
addHoistedFunctionDeclaration(node: FunctionDeclaration): FunctionDeclaration;
|
|
142
144
|
addInitializationStatement(node: Node): Node;
|
|
145
|
+
/** `node` as a function body: a block as it is, an expression as `{ return node; }` with the expression's range. */
|
|
146
|
+
convertToFunctionBlock(node: Node, multiLine: boolean): Block;
|
|
143
147
|
/** Marks the current variable scope as visiting parameters; returns the previous flags. */
|
|
144
148
|
enterParameters(): number;
|
|
145
149
|
/** Restores the scope flags; returns whether a variable was hoisted while visiting the parameters. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Side tables that transforms fill in and the printer reads: original nodes, emit flags,
|
|
2
2
|
// comment and source map ranges, synthesized comments, generated names and emit helpers.
|
|
3
|
-
import { ExpressionStatement, FunctionDeclaration, Identifier, NodeList, PrivateIdentifier, StringLiteral, VariableDeclaration, VariableStatement, } from '../ast.js';
|
|
3
|
+
import { Block, ExpressionStatement, FunctionDeclaration, Identifier, NodeList, PrivateIdentifier, StringLiteral, VariableDeclaration, VariableStatement, } from '../ast.js';
|
|
4
4
|
import { ClusteredLinkTable } from '../link-tables.js';
|
|
5
5
|
import { NodeFactory } from './factory.js';
|
|
6
6
|
import { isParseTreeNode, isPrologueDirective } from './utilities.js';
|
|
@@ -228,6 +228,10 @@ export class EmitContext extends NodeFactory {
|
|
|
228
228
|
return node;
|
|
229
229
|
}
|
|
230
230
|
// Emit data
|
|
231
|
+
/** Whether `node` has emit data: flags, ranges, helpers or synthesized comments. */
|
|
232
|
+
hasEmitNode(node) {
|
|
233
|
+
return this.lookup(node) !== undefined;
|
|
234
|
+
}
|
|
231
235
|
getEmitFlags(node) {
|
|
232
236
|
const emitNode = this.lookup(node);
|
|
233
237
|
return emitNode === undefined ? 0 /* EmitFlags.None */ : emitNode.emitFlags;
|
|
@@ -494,6 +498,21 @@ export class EmitContext extends NodeFactory {
|
|
|
494
498
|
this.varScopes[this.varScopes.length - 1].initializationStatements.push(node);
|
|
495
499
|
return node;
|
|
496
500
|
}
|
|
501
|
+
/** `node` as a function body: a block as it is, an expression as `{ return node; }` with the expression's range. */
|
|
502
|
+
convertToFunctionBlock(node, multiLine) {
|
|
503
|
+
if (node instanceof Block)
|
|
504
|
+
return node;
|
|
505
|
+
const factory = this.factory;
|
|
506
|
+
const statement = factory.createReturnStatement(node);
|
|
507
|
+
statement.pos = node.pos;
|
|
508
|
+
statement.end = node.end;
|
|
509
|
+
const block = factory.createBlock([statement], multiLine);
|
|
510
|
+
block.statements.pos = node.pos;
|
|
511
|
+
block.statements.end = node.end;
|
|
512
|
+
block.pos = node.pos;
|
|
513
|
+
block.end = node.end;
|
|
514
|
+
return block;
|
|
515
|
+
}
|
|
497
516
|
/** Marks the current variable scope as visiting parameters; returns the previous flags. */
|
|
498
517
|
enterParameters() {
|
|
499
518
|
const scope = this.varScopes[this.varScopes.length - 1];
|
|
@@ -111,7 +111,7 @@ export declare abstract class NodeFactoryBase {
|
|
|
111
111
|
updateMethodSignatureDeclaration(node: MethodSignatureDeclaration, modifiers: ModifierList | undefined, name: PropertyName, postfixToken: Token | undefined, typeParameters: NodeList | undefined, parameters: NodeList, typeNode: TypeNode | undefined): MethodSignatureDeclaration;
|
|
112
112
|
updateMissingDeclaration(node: MissingDeclaration, modifiers: ModifierList | undefined): MissingDeclaration;
|
|
113
113
|
updateModuleBlock(node: ModuleBlock, statements: NodeList): ModuleBlock;
|
|
114
|
-
updateModuleDeclaration(node: ModuleDeclaration, modifiers: ModifierList | undefined, keyword: SyntaxKind, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
|
|
114
|
+
updateModuleDeclaration(node: ModuleDeclaration, modifiers: ModifierList | undefined, keyword: SyntaxKind, name: ModuleName, attributes: TypeLiteralNode | undefined, body: ModuleBody | undefined): ModuleDeclaration;
|
|
115
115
|
updateNamedExports(node: NamedExports, elements: NodeList): NamedExports;
|
|
116
116
|
updateNamedImports(node: NamedImports, elements: NodeList): NamedImports;
|
|
117
117
|
updateNamedTupleMember(node: NamedTupleMember, dotDotDotToken: Token | undefined, name: Identifier, questionToken: Token | undefined, typeNode: TypeNode): NamedTupleMember;
|
|
@@ -132,7 +132,7 @@ export declare abstract class NodeFactoryBase {
|
|
|
132
132
|
updatePropertyAssignment(node: PropertyAssignment, modifiers: ModifierList | undefined, name: PropertyName, postfixToken: Token | undefined, typeNode: TypeNode | undefined, initializer: Expression): PropertyAssignment;
|
|
133
133
|
updatePropertyDeclaration(node: PropertyDeclaration, modifiers: ModifierList | undefined, name: PropertyName, postfixToken: Token | undefined, typeNode: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
|
|
134
134
|
updatePropertySignatureDeclaration(node: PropertySignatureDeclaration, modifiers: ModifierList | undefined, name: PropertyName, postfixToken: Token | undefined, typeNode: TypeNode | undefined, initializer: Expression | undefined): PropertySignatureDeclaration;
|
|
135
|
-
updateQualifiedName(node: QualifiedName, left: EntityName, right:
|
|
135
|
+
updateQualifiedName(node: QualifiedName, left: EntityName, right: MemberName): QualifiedName;
|
|
136
136
|
updateRestTypeNode(node: RestTypeNode, typeNode: TypeNode): RestTypeNode;
|
|
137
137
|
updateReturnStatement(node: ReturnStatement, expression: Expression | undefined): ReturnStatement;
|
|
138
138
|
updateSatisfiesExpression(node: SatisfiesExpression, expression: Expression, typeNode: TypeNode): SatisfiesExpression;
|
|
@@ -998,9 +998,13 @@ export class NodeFactoryBase {
|
|
|
998
998
|
}
|
|
999
999
|
return node;
|
|
1000
1000
|
}
|
|
1001
|
-
updateModuleDeclaration(node, modifiers, keyword, name, body) {
|
|
1002
|
-
if (modifiers !== node.modifiers ||
|
|
1003
|
-
|
|
1001
|
+
updateModuleDeclaration(node, modifiers, keyword, name, attributes, body) {
|
|
1002
|
+
if (modifiers !== node.modifiers ||
|
|
1003
|
+
keyword !== node.keyword ||
|
|
1004
|
+
name !== node.name ||
|
|
1005
|
+
attributes !== node.attributes ||
|
|
1006
|
+
body !== node.body) {
|
|
1007
|
+
const updated = new ModuleDeclaration(modifiers, keyword, name, attributes, body);
|
|
1004
1008
|
this.finishUpdate(updated, node);
|
|
1005
1009
|
return updated;
|
|
1006
1010
|
}
|
|
@@ -175,7 +175,9 @@ export class NodeFactory extends NodeFactoryBase {
|
|
|
175
175
|
createExpressionFromEntityName(node) {
|
|
176
176
|
if (node instanceof QualifiedName) {
|
|
177
177
|
const left = this.createExpressionFromEntityName(node.left);
|
|
178
|
-
const right =
|
|
178
|
+
const right = node.right instanceof PrivateIdentifier
|
|
179
|
+
? this.cloneNode(node.right, new PrivateIdentifier(node.right.text))
|
|
180
|
+
: this.cloneIdentifier(node.right);
|
|
179
181
|
right.pos = node.right.pos;
|
|
180
182
|
right.end = node.right.end;
|
|
181
183
|
right.parent = node.right.parent;
|
|
@@ -70,8 +70,17 @@ export const importDefaultHelper = new EmitHelper('typescript:commonjsimportdefa
|
|
|
70
70
|
export const exportStarHelper = new EmitHelper('typescript:export-star', false, `var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
71
71
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
72
72
|
};`, 2, [createBindingHelper], '__exportStar', '');
|
|
73
|
-
export const rewriteRelativeImportExtensionsHelper = new EmitHelper('typescript:rewriteRelativeImportExtensions', false, `var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
73
|
+
export const rewriteRelativeImportExtensionsHelper = new EmitHelper('typescript:rewriteRelativeImportExtensions', false, `var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx, extraExtensions, ignoreCase) {
|
|
74
74
|
if (typeof path === "string" && /^\\.\\.?\\//.test(path)) {
|
|
75
|
+
if (extraExtensions) {
|
|
76
|
+
for (var extension in extraExtensions) {
|
|
77
|
+
var suffix = path.slice(-extension.length);
|
|
78
|
+
if (suffix === extension || ignoreCase && suffix.toLowerCase() === extension.toLowerCase()) {
|
|
79
|
+
var output = extraExtensions[extension];
|
|
80
|
+
return output === extension ? path : path.slice(0, -extension.length) + output;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
75
84
|
return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
76
85
|
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
77
86
|
});
|
|
@@ -37,5 +37,5 @@ export declare class NameGenerator {
|
|
|
37
37
|
}
|
|
38
38
|
/** Forgets the files of earlier emits. */
|
|
39
39
|
export declare function forgetIdentifierSets(): void;
|
|
40
|
-
/** Whether no identifier in `file`
|
|
40
|
+
/** Whether no identifier, private name or literal in `file` has the text `name`. */
|
|
41
41
|
export declare function isFileLevelUniqueName(file: SourceFile, name: string): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Chooses the text of generated identifiers (`_a`, `_i`, `name_1`, …) while printing.
|
|
2
|
-
import { ClassExpression, ExportAssignment, PrivateIdentifier, StringLiteral, getLocals, getNextContainer, getText, isLocalsContainer, } from '../ast.js';
|
|
2
|
+
import { ClassExpression, ExportAssignment, NodeVisitor, PrivateIdentifier, StringLiteral, getLocals, getNextContainer, getText, isLocalsContainer, } from '../ast.js';
|
|
3
3
|
import { getName } from '../ast.js';
|
|
4
4
|
import { getExternalModuleName } from '../ast-utilities.js';
|
|
5
5
|
import { ensureLeadingHash, formatGeneratedName, makeIdentifierFromModuleName, removeLeadingHash, } from './utilities.js';
|
|
@@ -137,44 +137,44 @@ export class NameGenerator {
|
|
|
137
137
|
case 79 /* SyntaxKind.Identifier */:
|
|
138
138
|
case 80 /* SyntaxKind.PrivateIdentifier */:
|
|
139
139
|
return this.makeUniqueName(this.host.getTextOfNode(node), false, (flags & 16 /* GeneratedIdentifierFlags.Optimistic */) !== 0, (flags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */) !== 0, privateName, prefix, suffix);
|
|
140
|
-
case
|
|
141
|
-
case
|
|
140
|
+
case 269 /* SyntaxKind.ModuleDeclaration */:
|
|
141
|
+
case 268 /* SyntaxKind.EnumDeclaration */: {
|
|
142
142
|
const name = this.host.getTextOfNode(getName(node));
|
|
143
143
|
if (isUniqueLocalName(name, node))
|
|
144
144
|
return name;
|
|
145
145
|
return this.makeUniqueName(name, false, false, false, false, '', '');
|
|
146
146
|
}
|
|
147
|
-
case
|
|
148
|
-
case
|
|
149
|
-
case
|
|
147
|
+
case 274 /* SyntaxKind.ImportDeclaration */:
|
|
148
|
+
case 347 /* SyntaxKind.JSImportDeclaration */:
|
|
149
|
+
case 280 /* SyntaxKind.ExportDeclaration */: {
|
|
150
150
|
const specifier = getExternalModuleName(node);
|
|
151
151
|
const base = specifier instanceof StringLiteral ? makeIdentifierFromModuleName(specifier.text) : 'module';
|
|
152
152
|
return this.makeUniqueName(base, false, false, false, false, '', '');
|
|
153
153
|
}
|
|
154
|
-
case
|
|
155
|
-
case
|
|
154
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
155
|
+
case 265 /* SyntaxKind.ClassDeclaration */: {
|
|
156
156
|
const name = getName(node);
|
|
157
157
|
if (name !== undefined)
|
|
158
158
|
return this.generateNameForNode(name, false, flags, '', '');
|
|
159
159
|
return this.makeUniqueName('default', false, false, false, false, '', '');
|
|
160
160
|
}
|
|
161
|
-
case
|
|
161
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
162
162
|
if (node instanceof ExportAssignment)
|
|
163
163
|
return this.makeUniqueName('default', false, false, false, false, '', '');
|
|
164
164
|
break;
|
|
165
|
-
case
|
|
165
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
166
166
|
if (node instanceof ClassExpression)
|
|
167
167
|
return this.makeUniqueName('class', false, false, false, false, '', '');
|
|
168
168
|
break;
|
|
169
|
-
case
|
|
170
|
-
case
|
|
171
|
-
case
|
|
169
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
170
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
171
|
+
case 180 /* SyntaxKind.SetAccessor */: {
|
|
172
172
|
const name = getName(node);
|
|
173
173
|
if (name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */)
|
|
174
174
|
return this.generateNameForNodeCached(name, privateName, 0 /* GeneratedIdentifierFlags.None */, prefix, suffix);
|
|
175
175
|
return this.makeTempVariableName(0 /* TempFlags.Auto */, false, privateName, prefix, suffix);
|
|
176
176
|
}
|
|
177
|
-
case
|
|
177
|
+
case 169 /* SyntaxKind.ComputedPropertyName */:
|
|
178
178
|
return this.makeTempVariableName(0 /* TempFlags.Auto */, true, privateName, prefix, suffix);
|
|
179
179
|
}
|
|
180
180
|
return this.makeTempVariableName(0 /* TempFlags.Auto */, false, privateName, prefix, suffix);
|
|
@@ -270,13 +270,32 @@ const identifierSets = new Map();
|
|
|
270
270
|
export function forgetIdentifierSets() {
|
|
271
271
|
identifierSets.clear();
|
|
272
272
|
}
|
|
273
|
-
/**
|
|
273
|
+
/** Collects the texts of a file's identifiers, private names and literals: the names its generated names avoid. */
|
|
274
|
+
class NameTextCollector extends NodeVisitor {
|
|
275
|
+
texts = new Set();
|
|
276
|
+
visitNode(node) {
|
|
277
|
+
switch (node.kind) {
|
|
278
|
+
case 79 /* SyntaxKind.Identifier */:
|
|
279
|
+
case 80 /* SyntaxKind.PrivateIdentifier */:
|
|
280
|
+
case 10 /* SyntaxKind.StringLiteral */:
|
|
281
|
+
case 8 /* SyntaxKind.NumericLiteral */:
|
|
282
|
+
case 9 /* SyntaxKind.BigIntLiteral */:
|
|
283
|
+
case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */:
|
|
284
|
+
this.texts.add(getText(node));
|
|
285
|
+
}
|
|
286
|
+
node.forEachChild(this);
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/** Whether no identifier, private name or literal in `file` has the text `name`. */
|
|
274
291
|
export function isFileLevelUniqueName(file, name) {
|
|
275
292
|
let set = identifierSets.get(file);
|
|
276
293
|
if (set === undefined) {
|
|
277
294
|
if (identifierSets.size >= 16)
|
|
278
295
|
identifierSets.clear();
|
|
279
|
-
|
|
296
|
+
const collector = new NameTextCollector();
|
|
297
|
+
file.forEachChild(collector);
|
|
298
|
+
set = collector.texts;
|
|
280
299
|
identifierSets.set(file, set);
|
|
281
300
|
}
|
|
282
301
|
return !set.has(name);
|
|
@@ -101,6 +101,13 @@ export declare class Printer extends NameGeneratorHost {
|
|
|
101
101
|
currentSourceFile: SourceFile | undefined;
|
|
102
102
|
private sourceText;
|
|
103
103
|
private lineStarts;
|
|
104
|
+
/**
|
|
105
|
+
* The line of the last `lineOf` lookup, `lookupLine`, and the positions it spans, `[lookupLineStart, lookupLineEnd)`,
|
|
106
|
+
* with `lookupLineEnd` -1 after the last line: printing reads positions mostly in order, so most lookups fall on that line.
|
|
107
|
+
*/
|
|
108
|
+
private lookupLine;
|
|
109
|
+
private lookupLineStart;
|
|
110
|
+
private lookupLineEnd;
|
|
104
111
|
private writer;
|
|
105
112
|
private ownWriter;
|
|
106
113
|
private uniqueHelperNames;
|
|
@@ -114,8 +121,25 @@ export declare class Printer extends NameGeneratorHost {
|
|
|
114
121
|
private commentsDisabled;
|
|
115
122
|
/** Emitting the `extends` clause of a conditional or infer type. */
|
|
116
123
|
private inExtends;
|
|
117
|
-
/**
|
|
118
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Saved comment state, 32-bit values: emit flags, comment pos, comment end, container pos, container end,
|
|
126
|
+
* declaration list end.
|
|
127
|
+
* Flags are `commentFreeNode` for a node that `emitCommentsBeforeNode` handled in a comment-free range.
|
|
128
|
+
*/
|
|
129
|
+
private commentStack;
|
|
130
|
+
/** The used length of `commentStack`: entries are written in place and kept for reuse once popped. */
|
|
131
|
+
private commentDepth;
|
|
132
|
+
/** Start positions of `//` and `/*` in `sourceText`, ascending; made on first use for each file. */
|
|
133
|
+
private commentStarts;
|
|
134
|
+
/**
|
|
135
|
+
* A range of `sourceText`, `[freeStart, freeEnd)`, where no comment starts and the last character is not trivia,
|
|
136
|
+
* so no comment is found from any position in it; -1 when there is none. `freeOwner` is the node it was made for.
|
|
137
|
+
*/
|
|
138
|
+
private freeStart;
|
|
139
|
+
private freeEnd;
|
|
140
|
+
/** Whether no trailing comment follows `freeEnd`. */
|
|
141
|
+
private freeEndTrailingNone;
|
|
142
|
+
private freeOwner;
|
|
119
143
|
/** Saved source map state: emit flags, pos, end, has token range. */
|
|
120
144
|
private readonly sourceMapStack;
|
|
121
145
|
/** The token position after `enterToken` skipped trivia. */
|
|
@@ -143,6 +167,13 @@ export declare class Printer extends NameGeneratorHost {
|
|
|
143
167
|
private getLiteralTextOfNode;
|
|
144
168
|
/** The text of an identifier, private identifier, literal or JSX namespaced name as printed. */
|
|
145
169
|
getTextOfNode(node: Node): string;
|
|
170
|
+
/**
|
|
171
|
+
* Whether the source text of an identifier or private identifier of the current file, from the end of its leading
|
|
172
|
+
* trivia to its end, is its text: the text ends the node, and the character before it is not part of the token, as
|
|
173
|
+
* it would be in an identifier written with escapes. Nodes from JSDoc may span other text, so they are left to the
|
|
174
|
+
* general path.
|
|
175
|
+
*/
|
|
176
|
+
private textIsSourceText;
|
|
146
177
|
private isInCurrentSourceFile;
|
|
147
178
|
private write1;
|
|
148
179
|
private space;
|
|
@@ -155,6 +186,8 @@ export declare class Printer extends NameGeneratorHost {
|
|
|
155
186
|
private writeLineSeparatorsAndIndentBefore;
|
|
156
187
|
private writeLineSeparatorsAfter;
|
|
157
188
|
private positionsAreOnSameLine;
|
|
189
|
+
/** The zero-based line of `pos` (-1 before the first line), which becomes the line of the last lookup. */
|
|
190
|
+
private lineOf;
|
|
158
191
|
private rangeStart;
|
|
159
192
|
private rangeIsOnSingleLine;
|
|
160
193
|
private rangeEndIsOnSameLineAsRangeStart;
|
|
@@ -323,6 +356,7 @@ export declare class Printer extends NameGeneratorHost {
|
|
|
323
356
|
private emitImportEqualsDeclaration;
|
|
324
357
|
private emitImportDeclaration;
|
|
325
358
|
private emitImportClause;
|
|
359
|
+
private emitNamedImports;
|
|
326
360
|
/** Import and export specifiers. */
|
|
327
361
|
private emitSpecifier;
|
|
328
362
|
private emitExportAssignment;
|
|
@@ -363,7 +397,20 @@ export declare class Printer extends NameGeneratorHost {
|
|
|
363
397
|
private emitListItems;
|
|
364
398
|
private emitAnyNode;
|
|
365
399
|
private emitCommentsBeforeNode;
|
|
400
|
+
/** Saves the comment state of a node: its emit flags (or `commentFreeNode`), comment range and the containers. */
|
|
401
|
+
private pushCommentState;
|
|
366
402
|
private emitCommentsAfterNode;
|
|
403
|
+
/**
|
|
404
|
+
* Whether `node` has no emit data and lies in a range of the source text where no comment is found, so that its
|
|
405
|
+
* comments need not be looked for. Outside such a range, a node whose own range is one starts it (`freeOwner`).
|
|
406
|
+
*/
|
|
407
|
+
private inCommentFreeRange;
|
|
408
|
+
private endCommentFreeRange;
|
|
409
|
+
/** Whether the comment-free range shows that no trailing comment follows `pos`. */
|
|
410
|
+
private noCommentsAfter;
|
|
411
|
+
/** Makes `[pos, end)` the comment-free range if no comment starts in it and its last character is not trivia. */
|
|
412
|
+
private startCommentFreeRange;
|
|
413
|
+
private commentStartsOfFile;
|
|
367
414
|
/** Emits comments before a token; returns whether `emitCommentsAfterToken` applies, with the token's position in `tokenPos`. */
|
|
368
415
|
private emitCommentsBeforeToken;
|
|
369
416
|
private emitCommentsAfterToken;
|