stryker-html-reporter
Version:
An html reporter for the JavaScript mutation testing framework Stryker
86 lines • 2.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var util_1 = require("@stryker-mutator/util");
var path = require("path");
var mkdirp = require("mkdirp");
var rimraf = require("rimraf");
function copyFolderOrFile(fromPath, toPath) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var stats;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, util_1.fsAsPromised.stat(fromPath)];
case 1:
stats = _a.sent();
if (stats.isDirectory()) {
return [2 /*return*/, copyFolder(fromPath, toPath)];
}
else {
return [2 /*return*/, copyFile(fromPath, toPath)];
}
return [2 /*return*/];
}
});
});
}
function copyFolder(fromPath, to) {
return mkdir(to)
.then(function () { return util_1.fsAsPromised.readdir(fromPath); })
.then(function (files) { return Promise.all(files.map(function (file) { return copyFolderOrFile(path.join(fromPath, file), path.join(to, file)); })); })
.then(function (_) { return void 0; });
}
exports.copyFolder = copyFolder;
function copyFile(fromFilename, toFilename) {
return new Promise(function (resolve, reject) {
var readStream = util_1.fsAsPromised.createReadStream(fromFilename);
var writeStream = util_1.fsAsPromised.createWriteStream(toFilename);
readStream.on('error', reject);
writeStream.on('error', reject);
readStream.pipe(writeStream);
readStream.on('end', function () { return resolve(); });
});
}
function deleteDir(dirToDelete) {
return new Promise(function (res, rej) {
rimraf(dirToDelete, function (err) {
if (err) {
rej(err);
}
else {
res();
}
});
});
}
exports.deleteDir = deleteDir;
function mkdir(folderName) {
return new Promise(function (res, rej) {
mkdirp(folderName, function (err) {
if (err) {
rej(err);
}
else {
res();
}
});
});
}
exports.mkdir = mkdir;
function writeFile(fileName, content) {
return mkdir(path.dirname(fileName))
.then(function (_) { return util_1.fsAsPromised.writeFile(fileName, content, 'utf8'); });
}
exports.writeFile = writeFile;
function countPathSep(fileName) {
var count = 0;
for (var _i = 0, fileName_1 = fileName; _i < fileName_1.length; _i++) {
var ch = fileName_1[_i];
if (ch === path.sep) {
count++;
}
}
return count;
}
exports.countPathSep = countPathSep;
//# sourceMappingURL=util.js.map