/**
 * Fonction utilitaire sur les fichiers
 */
const fs = require('fs');

module.exports.exist = function (path, verbose = false) {
    try {
        return fs.existsSync(path);
    } catch (err) {
        if (verbose) {
            console.log(err);
        }
        return false;
    }
};

module.exports.makedir = function (path, isFilePath = false, verbose = false) {
    if (isFilePath) {
        let split = path.split('/');
        delete split[split.length - 1];
        path = split.join('/');
    }
    if (!module.exports.exist(path)) {
        try {
            fs.mkdirSync(path, {recursive: true});
            return true;
        } catch (err) {
            if (verbose) {
                console.error(err);
            }
            return false;
        }
    } else {
        return true;
    }
};

module.exports.put = function (path, content, verbose = false) {
    try {
        fs.writeFileSync(path, content);
        return true;
    } catch (err) {
        if (verbose) {
            console.error(err);
        }
        return false;
    }
};

module.exports.append = function (path, content, verbose = false) {
    try {
        fs.appendFileSync(path, content);
        return true;
    } catch (err) {
        if (verbose) {
            console.error(err);
        }
        return false;
    }
};

module.exports.delete = function (path, verbose = false) {
    try {
        fs.unlinkSync(path);
        return true;
    } catch (err) {
        if (verbose) {
            console.error(err);
        }
        return false;
    }
};

module.exports.getExtension = function (filename) {
    const split = filename.split('.');
    return split[split.length - 1];
};

module.exports.fs = fs;
