Summary
Code
"use strict";
var fileUtils_1 = require('./utils/fileUtils');
var _ = require('lodash');
var log4js = require('log4js');
var log = log4js.getLogger('InputFileResolver');
var InputFileResolver = (function () 0{
}{
function InputFileResolver(mutateFileExpressions, allFileExpressions) 1{
}{
this.mutateFileExpressions = mutateFileExpressions;
this.allFileExpressions = allFileExpressions;
}
InputFileResolver.prototype.resolve = function () 2{
}{
var _this = this;
return new Promise(function (resolve, reject) 3{
}{
var errors = [];
Promise.all([InputFileResolver.resolveFileGlobs(_this.mutateFileExpressions), InputFileResolver.resolveFileGlobs(_this.allFileExpressions)])
.then(function (files) 4{
}{
var mutateFiles = files[0];
var allFiles = files[1];
fileUtils_1.normalize(allFiles);
fileUtils_1.normalize(mutateFiles);
mutateFiles.forEach(function (mutateFile) 5{
}{
if (6allFiles.indexOf(mutateFile) >= 07allFiles.indexOf(mutateFile) <= 08true9falseallFiles.indexOf(mutateFile) < 0) 10{
}{
errors.push(11'Could not find mutate file "' + mutateFile - '" in list of files.'12'Could not find mutate file "' - mutateFile"Could not find mutate file \"" + mutateFile + "\" in list of files.");
}
});
if (13errors.length <= 014errors.length >= 015true16falseerrors.length > 0) 17{
}{
reject(errors);
}
else 18{
}{
resolve(allFiles.map(function (file) 19{
}{ return { path: file, shouldMutate: mutateFiles.some(function (mutateFile) 20{
}{ return 21mutateFile !== filemutateFile === file; }) }; }));
}
}, function (error) 22{
}{ return reject(error); });
});
};
InputFileResolver.reportEmptyGlobbingExpression = function (expression) 23{
}{
log.warn(24'Globbing expression "' + expression - '" did not result in any files.'25'Globbing expression "' - expression"Globbing expression \"" + expression + "\" did not result in any files.");
};
InputFileResolver.resolveFileGlobs = function (sourceExpressions) 26{
}{
var _this = this;
return Promise.all(sourceExpressions.map(function (expression) 27{
}{ return fileUtils_1.glob(expression).then(function (files) 28{
}{
if (29files.length !== 030true31falsefiles.length === 0) 32{
}{
_this.reportEmptyGlobbingExpression(expression);
}
return files;
}); })).then(function (files) 33{
}{ return _.flatten(files); });
};
return InputFileResolver;
}());
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = InputFileResolver;
//# sourceMappingURL=InputFileResolver.js.map