@@ -512,75 +512,6 @@ namespace ts {
512512 }
513513 }
514514
515- /**
516- * patternStrings contains both pattern strings (containing "*") and regular strings.
517- * Return an exact match if possible, or a pattern match, or undefined.
518- * (These are verified by verifyCompilerOptions to have 0 or 1 "*" characters.)
519- */
520- function matchPatternOrExact ( patternStrings : string [ ] , candidate : string ) : string | Pattern | undefined {
521- const patterns : Pattern [ ] = [ ] ;
522- for ( const patternString of patternStrings ) {
523- const pattern = tryParsePattern ( patternString ) ;
524- if ( pattern ) {
525- patterns . push ( pattern ) ;
526- }
527- else if ( patternString === candidate ) {
528- // pattern was matched as is - no need to search further
529- return patternString ;
530- }
531- }
532-
533- return findBestPatternMatch ( patterns , _ => _ , candidate ) ;
534- }
535-
536- function patternText ( { prefix, suffix} : Pattern ) : string {
537- return `${ prefix } *${ suffix } ` ;
538- }
539-
540- /**
541- * Given that candidate matches pattern, returns the text matching the '*'.
542- * E.g.: matchedText(tryParsePattern("foo*baz"), "foobarbaz") === "bar"
543- */
544- function matchedText ( pattern : Pattern , candidate : string ) : string {
545- Debug . assert ( isPatternMatch ( pattern , candidate ) ) ;
546- return candidate . substr ( pattern . prefix . length , candidate . length - pattern . suffix . length ) ;
547- }
548-
549- /** Return the object corresponding to the best pattern to match `candidate`. */
550- /* @internal */
551- export function findBestPatternMatch < T > ( values : T [ ] , getPattern : ( value : T ) => Pattern , candidate : string ) : T | undefined {
552- let matchedValue : T | undefined = undefined ;
553- // use length of prefix as betterness criteria
554- let longestMatchPrefixLength = - 1 ;
555-
556- for ( const v of values ) {
557- const pattern = getPattern ( v ) ;
558- if ( isPatternMatch ( pattern , candidate ) && pattern . prefix . length > longestMatchPrefixLength ) {
559- longestMatchPrefixLength = pattern . prefix . length ;
560- matchedValue = v ;
561- }
562- }
563-
564- return matchedValue ;
565- }
566-
567- function isPatternMatch ( { prefix, suffix} : Pattern , candidate : string ) {
568- return candidate . length >= prefix . length + suffix . length &&
569- startsWith ( candidate , prefix ) &&
570- endsWith ( candidate , suffix ) ;
571- }
572-
573- /* @internal */
574- export function tryParsePattern ( pattern : string ) : Pattern | undefined {
575- // This should be verified outside of here and a proper error thrown.
576- Debug . assert ( hasZeroOrOneAsteriskCharacter ( pattern ) ) ;
577- const indexOfStar = pattern . indexOf ( "*" ) ;
578- return indexOfStar === - 1 ? undefined : {
579- prefix : pattern . substr ( 0 , indexOfStar ) ,
580- suffix : pattern . substr ( indexOfStar + 1 )
581- } ;
582- }
583-
584515 export function nodeModuleNameResolver ( moduleName : string , containingFile : string , compilerOptions : CompilerOptions , host : ModuleResolutionHost ) : ResolvedModuleWithFailedLookupLocations {
585516 const containingDirectory = getDirectoryPath ( containingFile ) ;
586517 const supportedExtensions = getSupportedExtensions ( compilerOptions ) ;
0 commit comments