From ebebac9c4e60fde895f82c18bf18741a82a49a5d Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Mon, 31 Oct 2016 11:08:09 -0700 Subject: [PATCH] Add helper function --- src/harness/harness.ts | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/src/harness/harness.ts b/src/harness/harness.ts index add3046abc2..a6e1ffad7f7 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -1037,21 +1037,7 @@ namespace Harness { if (path[path.length - 1] === "/") { path = path.substr(0, path.length - 1); } - - let exists = false; - fileMap.forEachValue(fileName => { - if (!exists && pathStartsWithDirectory(fileName, path)) { - exists = true; - } - }); - if (!exists && realPathMap) { - realPathMap.forEachValue(fileName => { - if (!exists && pathStartsWithDirectory(fileName, path)) { - exists = true; - } - }); - } - return exists; + return mapHasFileInDirectory(path, fileMap) || mapHasFileInDirectory(path, realPathMap); }, getDirectories: d => { const path = ts.toPath(d, currentDirectory, getCanonicalFileName); @@ -1072,8 +1058,17 @@ namespace Harness { }; } - function pathStartsWithDirectory(fileName: string, directory: string) { - return ts.startsWith(fileName, directory) && fileName[directory.length] === "/"; + function mapHasFileInDirectory(directoryPath: ts.Path, map: ts.FileMap): boolean { + if (!map) { + return false; + } + let exists = false; + map.forEachValue(fileName => { + if (!exists && ts.startsWith(fileName, directoryPath) && fileName[directoryPath.length] === "/") { + exists = true; + } + }); + return exists; } interface HarnessOptions {