Skip to content

Commit

Permalink
Merge c0e3576 into 4dea664
Browse files Browse the repository at this point in the history
  • Loading branch information
VanesaIG committed Jun 10, 2019
2 parents 4dea664 + c0e3576 commit e2dfebf
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions index.js
Expand Up @@ -32,15 +32,15 @@ function getFileFilter(fileFilter) {
return fileFilter;
}

function getRegEx(pattern, regex) {
function getRegEx(pattern, regex, isCaseSensitive) {
var flags, term, grabLineRegEx

if (typeof pattern === 'object' && pattern.flags) {
term = pattern.term
flags = pattern.flags
} else {
term = pattern
flags = 'g'
isCaseSensitive ? flags = 'g' : flags = 'gi';
}

grabLineRegEx = "(.*" + term + ".*)"
Expand All @@ -52,13 +52,13 @@ function getRegEx(pattern, regex) {
return new RegExp(term, flags);
}

function getMatchedFiles(pattern, files) {
function getMatchedFiles(pattern, files, isCaseSensitive) {
var matchedFiles = []
for (var i = files.length - 1; i >= 0; i--) {
matchedFiles.push(readFile(files[i])
.then(searchFile({
regex: getRegEx(pattern),
lineRegEx: getRegEx(pattern, 'line'),
regex: getRegEx(pattern, undefined, isCaseSensitive),
lineRegEx: getRegEx(pattern, 'line', isCaseSensitive),
filename: files[i]
})));
}
Expand All @@ -83,11 +83,12 @@ function getResults(content) {
return results;
}

exports.find = function(pattern, directory, fileFilter) {
exports.find = function(pattern, directory, fileFilter, isCaseSensitive) {
isCaseSensitive = typeof isCaseSensitive === 'undefined' ? true : isCaseSensitive;
var deferred = Q.defer()
find
.file(getFileFilter(fileFilter), directory, function(files) {
Q.allSettled(getMatchedFiles(pattern, files))
Q.allSettled(getMatchedFiles(pattern, files, isCaseSensitive))
.then(function (content) {
deferred.resolve(getResults(content));
})
Expand All @@ -99,12 +100,13 @@ exports.find = function(pattern, directory, fileFilter) {
return deferred.promise;
};

exports.findSync = function(pattern, directory, fileFilter) {
exports.findSync = function(pattern, directory, fileFilter, isCaseSensitive) {
isCaseSensitive = typeof isCaseSensitive === 'undefined' ? true : isCaseSensitive;
var deferred = Q.defer();
var files;
try {
files = find.fileSync(getFileFilter(fileFilter), directory);
Q.allSettled(getMatchedFiles(pattern, files))
Q.allSettled(getMatchedFiles(pattern, files, isCaseSensitive))
.then(function (content) {
deferred.resolve(getResults(content));
})
Expand Down

0 comments on commit e2dfebf

Please sign in to comment.