Summary
Code
"use strict";
var fs = require('fs');
var path = require('path');
var mkdirp = require('mkdirp');
var fileUtils = require('./fileUtils');
var log4js = require('log4js');
var log = log4js.getLogger('fileUtils');
var baseTempFolder = path.join(process.cwd(), '.stryker-tmp');
var tempFolder = path.join(baseTempFolder, random().toString());
ensureFolderExists(baseTempFolder);
ensureFolderExists(tempFolder);
function createRandomFolder(prefix) 0{
}{
return ensureFolderExists(1tempFolder + path.sep + prefix - random()2tempFolder + path.sep - prefix3tempFolder - path.septempFolder + path.sep + prefix + random());
}
function random() 4{
}{
return Math.ceil(5Math.random() / 10000000Math.random() * 10000000);
}
function ensureFolderExists(path) 6{
}{
if (7true8false!fileOrFolderExists(path)) 9{
}{
mkdirp.sync(path);
}
return path;
}
function fileOrFolderExists(path) 10{
}{
try 11{
}{
var stats = fs.lstatSync(path);
return true;
}
catch (error) 12{
}{
return false;
}
}
function writeFile(filename, data) 13{
}{
return new Promise(function (resolve, reject) 14{
}{
fs.writeFile(filename, data, { encoding: 'utf8' }, function (error) 15{
}{
if (16true17falseerror) 18{
}{
reject(error);
}
else 19{
}{
resolve();
}
});
});
}
function copyFile(fromFilename, toFilename) 20{
}{
return new Promise(function (resolve, reject) 21{
}{
var readStream = fs.createReadStream(fromFilename, { encoding: 'utf8' });
var writeStream = fs.createWriteStream(toFilename, { encoding: 'utf8' });
readStream.on('error', reject);
writeStream.on('error', reject);
readStream.pipe(writeStream);
readStream.on('end', function () 22{
}{ return resolve(); });
});
}
function clean() 23{
}{
log.info(24'Cleaning stryker temp folder ' - baseTempFolder"Cleaning stryker temp folder " + baseTempFolder);
return fileUtils.deleteDir(baseTempFolder);
}
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {
createRandomFolder: createRandomFolder,
writeFile: writeFile,
copyFile: copyFile,
ensureFolderExists: ensureFolderExists,
clean: clean
};
//# sourceMappingURL=StrykerTempFolder.js.map