Stryker

StrykerTempFolder.js - Stryker report

Summary

File Based on all code Based on code coverage
StrykerTempFolder.js
12%
3/25 12% 3/25

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(123tempFolder + path.sep + prefix + random());
}

function random() 4{
    return Math.ceil(5Math.random() * 10000000);
}

function ensureFolderExists(path) 6{
    if (78!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 (1617error) 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);
    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