@@ -110,7 +110,7 @@ func (e *exportExtractor) extractFromFile(file *ast.SourceFile) []*Export {
110110 moduleDeclarations := core .Filter (file .Statements .Nodes , ast .IsModuleWithStringLiteralName )
111111 var exportCount int
112112 for _ , decl := range moduleDeclarations {
113- exportCount += len ( decl .AsModuleDeclaration ().Symbol .Exports )
113+ exportCount += decl .AsModuleDeclaration ().Symbol .Exports . Len ( )
114114 }
115115 exports := make ([]* Export , 0 , exportCount )
116116 for _ , decl := range moduleDeclarations {
@@ -131,19 +131,19 @@ func (e *exportExtractor) extractFromModule(file *ast.SourceFile) []*Export {
131131 })
132132 var augmentationExportCount int
133133 for _ , decl := range moduleAugmentations {
134- augmentationExportCount += len ( decl .Symbol .Exports )
134+ augmentationExportCount += decl .Symbol .Exports . Len ( )
135135 }
136136 moduleID := e .getModuleID (file )
137- exports := make ([]* Export , 0 , len ( file .Symbol .Exports )+ augmentationExportCount )
138- for name , symbol := range file .Symbol .Exports {
137+ exports := make ([]* Export , 0 , file .Symbol .Exports . Len ( )+ augmentationExportCount )
138+ for name , symbol := range file .Symbol .Exports . Iter () {
139139 e .extractFromSymbol (name , symbol , moduleID , file .FileName (), file , & exports )
140140 }
141141 for _ , decl := range moduleAugmentations {
142142 name := decl .Name ().AsStringLiteral ().Text
143143 moduleID := ModuleID (name )
144144 var moduleFileName string
145145 if tspath .IsExternalModuleNameRelative (name ) {
146- if resolved , _ := e .moduleResolver .ResolveModuleName (name , file .FileName (), core .ModuleKindCommonJS , nil ); resolved .IsResolved () {
146+ if resolved , _ := e .moduleResolver .ResolveModuleName (name , file .FileName (), nil , core .ModuleKindCommonJS , nil ); resolved .IsResolved () {
147147 moduleFileName = resolved .ResolvedFileName
148148 moduleID = ModuleID (e .toPath (moduleFileName ))
149149 } else {
@@ -158,7 +158,7 @@ func (e *exportExtractor) extractFromModule(file *ast.SourceFile) []*Export {
158158}
159159
160160func (e * exportExtractor ) extractFromModuleDeclaration (decl * ast.ModuleDeclaration , file * ast.SourceFile , moduleID ModuleID , moduleFileName string , exports * []* Export ) {
161- for name , symbol := range decl .Symbol .Exports {
161+ for name , symbol := range decl .Symbol .Exports . Iter () {
162162 e .extractFromSymbol (name , symbol , moduleID , moduleFileName , file , exports )
163163 }
164164}
@@ -173,7 +173,7 @@ func (e *symbolExtractor) extractFromSymbol(name string, symbol *ast.Symbol, mod
173173 allExports := e .checker .GetExportsOfModule (symbol .Parent )
174174 // allExports includes named exports from the file that will be processed separately;
175175 // we want to add only the ones that come from the star
176- for name , namedExport := range symbol .Parent .Exports {
176+ for name , namedExport := range symbol .Parent .Exports . Iter () {
177177 if name != ast .InternalSymbolNameExportStar {
178178 idx := slices .Index (allExports , namedExport )
179179 if idx >= 0 || shouldIgnoreSymbol (namedExport ) {
@@ -237,8 +237,8 @@ func (e *symbolExtractor) extractFromSymbol(name string, symbol *ast.Symbol, mod
237237
238238 if target != nil {
239239 if syntax == ExportSyntaxEquals && target .Flags & ast .SymbolFlagsNamespace != 0 {
240- * exports = slices .Grow (* exports , len ( target .Exports ))
241- for _ , namedExport := range target .Exports {
240+ * exports = slices .Grow (* exports , target .Exports . Len ( ))
241+ for namedExport := range target .Exports . Values () {
242242 export , _ := e .createExport (namedExport , moduleID , moduleFileName , syntax , file , checkerLease )
243243 if export != nil {
244244 export .through = name
@@ -255,10 +255,13 @@ func (e *symbolExtractor) extractFromSymbol(name string, symbol *ast.Symbol, mod
255255 * exports = slices .Grow (* exports , len (expression .AsObjectLiteralExpression ().Properties .Nodes ))
256256 for _ , prop := range expression .AsObjectLiteralExpression ().Properties .Nodes {
257257 if ast .IsShorthandPropertyAssignment (prop ) || ast .IsPropertyAssignment (prop ) && prop .AsPropertyAssignment ().Name ().Kind == ast .KindIdentifier {
258- export , _ := e .createExport (expression .Symbol ().Members [prop .Name ().Text ()], moduleID , moduleFileName , syntax , file , checkerLease )
259- if export != nil {
260- export .through = name
261- * exports = append (* exports , export )
258+ memberSymbol := expression .Symbol ().Members .Get (prop .Name ().Text ())
259+ if memberSymbol != nil {
260+ export , _ := e .createExport (memberSymbol , moduleID , moduleFileName , syntax , file , checkerLease )
261+ if export != nil {
262+ export .through = name
263+ * exports = append (* exports , export )
264+ }
262265 }
263266 }
264267 }
0 commit comments