473
return parsedPatterns[0];
474
}
476
>
const parsedPattern: ParsedStringPattern = function (path: string, basename?: string) {
477
>
for (let i = 0, n = parsedPatterns.length; i < n; i++) {
478
>
if (parsedPatterns[i](path, basename)) {
479
return pattern;
480
}
482
>
483
>
return null;
484
>
};
485
>
486
>
const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);
487
>
if (withBasenames) {
488
parsedPattern.allBasenames = withBasenames.allBasenames;
489
}
491
>
const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, [] as string[]);
492
>
if (allPaths.length) {
493
parsedPattern.allPaths = allPaths;
494
}
496
>
return parsedPattern;
497
>
}
498
499
// common patterns: **/something/else just need endsWith check, something/else just needs and equals check