mkdir-if-not-exists.js 798 Bytes
const MODULE_NAME = 'MKDIR-IF-NOT-EXISTS';

const fsPromise = require('fs').promises;
const logger = require('tektrans-logger');

const mkdir = async (xid, dirname, callerName) => {
    try {
        logger.verbose(`${MODULE_NAME} 6B08D52D: Creating directory`, {
            xid, dirname, callerName,
        });

        await fsPromise.mkdir(dirname, { recursive: true });
    } catch (e) {
        logger.warn(`${MODULE_NAME} 857718E9: Exception on creating directory`, {
            xid,
            dirname,
            callerName,
            eCode: e.code,
            eMessage: e.message,
        });
    }
};

module.exports = async (xid, dirname, callerName) => {
    try {
        await fsPromise.stat(dirname);
    } catch (e) {
        await mkdir(xid, dirname, callerName);
    }
};