@@ -308,18 +308,24 @@ namespace ts {
308
308
return primaryResult ;
309
309
}
310
310
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 ) [ ] {
323
329
const path = resolutionHost . toPath ( containingFile ) ;
324
330
const resolutionsInFile = cache . get ( path ) || cache . set ( path , createMap ( ) ) . get ( path ) ! ;
325
331
const dirPath = getDirectoryPath ( path ) ;
@@ -404,23 +410,31 @@ namespace ts {
404
410
}
405
411
406
412
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
+ } ) ;
414
423
}
415
424
416
425
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
+ } ) ;
424
438
}
425
439
426
440
function getResolvedModuleWithFailedLookupLocationsFromCache ( moduleName : string , containingFile : string ) : CachedResolvedModuleWithFailedLookupLocations | undefined {
0 commit comments