@@ -308,18 +308,24 @@ namespace ts {
308308 return primaryResult ;
309309 }
310310
311- function resolveNamesWithLocalCache < T extends ResolutionWithFailedLookupLocations , R extends ResolutionWithResolvedFileName > (
312- names : readonly string [ ] ,
313- containingFile : string ,
314- redirectedReference : ResolvedProjectReference | undefined ,
315- cache : Map < Map < T > > ,
316- perDirectoryCacheWithRedirects : CacheWithRedirects < Map < T > > ,
317- loader : ( name : string , containingFile : string , options : CompilerOptions , host : ModuleResolutionHost , redirectedReference ?: ResolvedProjectReference ) => T ,
318- getResolutionWithResolvedFileName : GetResolutionWithResolvedFileName < T , R > ,
319- shouldRetryResolution : ( t : T ) => boolean ,
320- reusedNames : readonly string [ ] | undefined ,
321- logChanges : boolean ) : ( R | undefined ) [ ] {
322-
311+ interface ResolveNamesWithLocalCacheInput < T extends ResolutionWithFailedLookupLocations , R extends ResolutionWithResolvedFileName > {
312+ names : readonly string [ ] ;
313+ containingFile : string ;
314+ redirectedReference : ResolvedProjectReference | undefined ;
315+ cache : Map < Map < T > > ;
316+ perDirectoryCacheWithRedirects : CacheWithRedirects < Map < T > > ;
317+ loader : ( name : string , containingFile : string , options : CompilerOptions , host : ModuleResolutionHost , redirectedReference ?: ResolvedProjectReference ) => T ;
318+ getResolutionWithResolvedFileName : GetResolutionWithResolvedFileName < T , R > ;
319+ shouldRetryResolution : ( t : T ) => boolean ;
320+ reusedNames ?: readonly string [ ] ;
321+ logChanges ?: boolean ;
322+ }
323+ function resolveNamesWithLocalCache < T extends ResolutionWithFailedLookupLocations , R extends ResolutionWithResolvedFileName > ( {
324+ names, containingFile, redirectedReference,
325+ cache, perDirectoryCacheWithRedirects,
326+ loader, getResolutionWithResolvedFileName,
327+ shouldRetryResolution, reusedNames, logChanges
328+ } : ResolveNamesWithLocalCacheInput < T , R > ) : ( R | undefined ) [ ] {
323329 const path = resolutionHost . toPath ( containingFile ) ;
324330 const resolutionsInFile = cache . get ( path ) || cache . set ( path , createMap ( ) ) . get ( path ) ! ;
325331 const dirPath = getDirectoryPath ( path ) ;
@@ -404,23 +410,31 @@ namespace ts {
404410 }
405411
406412 function resolveTypeReferenceDirectives ( typeDirectiveNames : string [ ] , containingFile : string , redirectedReference ?: ResolvedProjectReference ) : ( ResolvedTypeReferenceDirective | undefined ) [ ] {
407- return resolveNamesWithLocalCache < CachedResolvedTypeReferenceDirectiveWithFailedLookupLocations , ResolvedTypeReferenceDirective > (
408- typeDirectiveNames , containingFile , redirectedReference ,
409- resolvedTypeReferenceDirectives , perDirectoryResolvedTypeReferenceDirectives ,
410- resolveTypeReferenceDirective , getResolvedTypeReferenceDirective ,
411- /*shouldRetryResolution*/ resolution => resolution . resolvedTypeReferenceDirective === undefined ,
412- /*reusedNames*/ undefined , /*logChanges*/ false
413- ) ;
413+ return resolveNamesWithLocalCache < CachedResolvedTypeReferenceDirectiveWithFailedLookupLocations , ResolvedTypeReferenceDirective > ( {
414+ names : typeDirectiveNames ,
415+ containingFile,
416+ redirectedReference,
417+ cache : resolvedTypeReferenceDirectives ,
418+ perDirectoryCacheWithRedirects : perDirectoryResolvedTypeReferenceDirectives ,
419+ loader : resolveTypeReferenceDirective ,
420+ getResolutionWithResolvedFileName : getResolvedTypeReferenceDirective ,
421+ shouldRetryResolution : resolution => resolution . resolvedTypeReferenceDirective === undefined ,
422+ } ) ;
414423 }
415424
416425 function resolveModuleNames ( moduleNames : string [ ] , containingFile : string , reusedNames : string [ ] | undefined , redirectedReference ?: ResolvedProjectReference ) : ( ResolvedModuleFull | undefined ) [ ] {
417- return resolveNamesWithLocalCache < CachedResolvedModuleWithFailedLookupLocations , ResolvedModuleFull > (
418- moduleNames , containingFile , redirectedReference ,
419- resolvedModuleNames , perDirectoryResolvedModuleNames ,
420- resolveModuleName , getResolvedModule ,
421- /*shouldRetryResolution*/ resolution => ! resolution . resolvedModule || ! resolutionExtensionIsTSOrJson ( resolution . resolvedModule . extension ) ,
422- reusedNames , logChangesWhenResolvingModule
423- ) ;
426+ return resolveNamesWithLocalCache < CachedResolvedModuleWithFailedLookupLocations , ResolvedModuleFull > ( {
427+ names : moduleNames ,
428+ containingFile,
429+ redirectedReference,
430+ cache : resolvedModuleNames ,
431+ perDirectoryCacheWithRedirects : perDirectoryResolvedModuleNames ,
432+ loader : resolveModuleName ,
433+ getResolutionWithResolvedFileName : getResolvedModule ,
434+ shouldRetryResolution : resolution => ! resolution . resolvedModule || ! resolutionExtensionIsTSOrJson ( resolution . resolvedModule . extension ) ,
435+ reusedNames,
436+ logChanges : logChangesWhenResolvingModule
437+ } ) ;
424438 }
425439
426440 function getResolvedModuleWithFailedLookupLocationsFromCache ( moduleName : string , containingFile : string ) : CachedResolvedModuleWithFailedLookupLocations | undefined {
0 commit comments