UNPKG

gzipper

Version:

CLI for compressing files.

50 lines 3.39 kB
import { LogLevel } from './LogLevel.enum.js'; import { getLogColor } from '../helpers.js'; export class Logger { verbose = false; color = false; /** * Initialize the logger. */ initialize(options) { this.verbose = !!options.verbose; this.color = getLogColor(options.color); } /** * Colorize messages depends on the level and return a wrapper. */ logger(message, level) { let colorfulMessage; const prefix = 'gzipper'; level = !this.color ? LogLevel.DEBUG : level; switch (level) { case LogLevel.INFO: colorfulMessage = `\x1b[30;46m${prefix}:\x1b[0m\x1b[36m %s\x1b[0m`; break; case LogLevel.ERROR: colorfulMessage = `\x1b[30;41m${prefix}:\x1b[0m\x1b[31m %s\x1b[0m`; break; case LogLevel.WARNING: colorfulMessage = `\x1b[30;43m${prefix}:\x1b[0m\x1b[33m %s\x1b[0m`; break; case LogLevel.SUCCESS: colorfulMessage = `\x1b[30;42m${prefix}:\x1b[0m\x1b[32m %s\x1b[0m`; break; case LogLevel.DEBUG: default: colorfulMessage = `${prefix}: %s`; break; } console.log(colorfulMessage, message); } /** * Log message. */ log(message, level = LogLevel.DEBUG) { const shouldLog = this.verbose || level === LogLevel.ERROR; if (shouldLog) { this.logger(message, level); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2dlci9Mb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUMsTUFBTSxPQUFPLE1BQU07SUFDVCxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdEI7O09BRUc7SUFDSCxVQUFVLENBQUMsT0FBbUQ7UUFDNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFJLE9BQVUsRUFBRSxLQUFlO1FBQzNDLElBQUksZUFBdUIsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDekIsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRTdDLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLEdBQUcsY0FBYyxNQUFNLDRCQUE0QixDQUFDO2dCQUNuRSxNQUFNO1lBRVIsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFDakIsZUFBZSxHQUFHLGNBQWMsTUFBTSw0QkFBNEIsQ0FBQztnQkFDbkUsTUFBTTtZQUVSLEtBQUssUUFBUSxDQUFDLE9BQU87Z0JBQ25CLGVBQWUsR0FBRyxjQUFjLE1BQU0sNEJBQTRCLENBQUM7Z0JBQ25FLE1BQU07WUFFUixLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNuQixlQUFlLEdBQUcsY0FBYyxNQUFNLDRCQUE0QixDQUFDO2dCQUNuRSxNQUFNO1lBRVIsS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3BCO2dCQUNFLGVBQWUsR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDO2dCQUNsQyxNQUFNO1FBQ1YsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBSSxPQUFVLEVBQUUsUUFBa0IsUUFBUSxDQUFDLEtBQUs7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQztRQUUzRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7Q0FDRiJ9