4
4
append ,
5
5
arrayIsEqualTo ,
6
6
CancellationToken ,
7
- CompilerOptions ,
8
7
consumesNodeCoreModules ,
9
8
createMultiMap ,
10
9
Debug ,
@@ -18,9 +17,7 @@ import {
18
17
GetCanonicalFileName ,
19
18
getDefaultLikeExportNameFromDeclaration ,
20
19
getDirectoryPath ,
21
- getEmitScriptTarget ,
22
20
getLocalSymbolForExportDefault ,
23
- getNamesForExportedSymbol ,
24
21
getNodeModulePathParts ,
25
22
getPackageNameFromTypesPackageName ,
26
23
getRegexFromPattern ,
@@ -46,6 +43,7 @@ import {
46
43
Path ,
47
44
pathContainsNodeModules ,
48
45
Program ,
46
+ ScriptTarget ,
49
47
skipAlias ,
50
48
SourceFile ,
51
49
startsWith ,
@@ -198,7 +196,7 @@ export function createCacheableExportInfoMap(host: CacheableExportInfoMapHost):
198
196
// get a better name.
199
197
const names = exportKind === ExportKind . Named || isExternalModuleSymbol ( namedSymbol )
200
198
? unescapeLeadingUnderscores ( symbolTableKey )
201
- : getNamesForExportedSymbol ( namedSymbol , /*scriptTarget*/ undefined ) ;
199
+ : getNamesForExportedSymbol ( namedSymbol , checker , /*scriptTarget*/ undefined ) ;
202
200
203
201
const symbolName = typeof names === "string" ? names : names [ 0 ] ;
204
202
const capitalizedSymbolName = typeof names === "string" ? undefined : names [ 1 ] ;
@@ -558,12 +556,21 @@ function isImportableSymbol(symbol: Symbol, checker: TypeChecker) {
558
556
return ! checker . isUndefinedSymbol ( symbol ) && ! checker . isUnknownSymbol ( symbol ) && ! isKnownSymbol ( symbol ) && ! isPrivateIdentifierSymbol ( symbol ) ;
559
557
}
560
558
559
+ function getNamesForExportedSymbol ( defaultExport : Symbol , checker : TypeChecker , scriptTarget : ScriptTarget | undefined ) {
560
+ let names : string | string [ ] | undefined ;
561
+ forEachNameOfDefaultExport ( defaultExport , checker , scriptTarget , ( name , capitalizedName ) => {
562
+ names = capitalizedName ? [ name , capitalizedName ] : name ;
563
+ return true ;
564
+ } ) ;
565
+ return Debug . checkDefined ( names ) ;
566
+ }
567
+
561
568
/**
562
569
* @internal
563
570
* May call `cb` multiple times with the same name.
564
571
* Terminates when `cb` returns a truthy value.
565
572
*/
566
- export function forEachNameOfDefaultExport < T > ( defaultExport : Symbol , checker : TypeChecker , compilerOptions : CompilerOptions , preferCapitalizedNames : boolean , cb : ( name : string ) => T | undefined ) : T | undefined {
573
+ export function forEachNameOfDefaultExport < T > ( defaultExport : Symbol , checker : TypeChecker , scriptTarget : ScriptTarget | undefined , cb : ( name : string , capitalizedName ? : string ) => T | undefined ) : T | undefined {
567
574
let chain : Symbol [ ] | undefined ;
568
575
let current : Symbol | undefined = defaultExport ;
569
576
@@ -588,7 +595,10 @@ export function forEachNameOfDefaultExport<T>(defaultExport: Symbol, checker: Ty
588
595
589
596
for ( const symbol of chain ?? emptyArray ) {
590
597
if ( symbol . parent && isExternalModuleSymbol ( symbol . parent ) ) {
591
- const final = cb ( moduleSymbolToValidIdentifier ( symbol . parent , getEmitScriptTarget ( compilerOptions ) , preferCapitalizedNames ) ) ;
598
+ const final = cb (
599
+ moduleSymbolToValidIdentifier ( symbol . parent , scriptTarget , /*forceCapitalize*/ false ) ,
600
+ moduleSymbolToValidIdentifier ( symbol . parent , scriptTarget , /*forceCapitalize*/ true ) ,
601
+ ) ;
592
602
if ( final ) return final ;
593
603
}
594
604
}
0 commit comments