UNPKG

@stringsync/vexml

Version:

MusicXML to Vexflow

39 lines (38 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConsoleLogger = void 0; class ConsoleLogger { levels; constructor(levels = ['debug', 'info', 'warn', 'error']) { this.levels = levels; } debug(message, meta) { if (this.levels.includes('debug')) { console.debug(this.toCompleteMessage(message, meta)); } } info(message, meta) { if (this.levels.includes('info')) { console.log(this.toCompleteMessage(message, meta)); } } warn(message, meta) { if (this.levels.includes('warn')) { console.warn(this.toCompleteMessage(message, meta)); } } error(message, meta) { if (this.levels.includes('error')) { console.error(this.toCompleteMessage(message, meta)); } } toCompleteMessage(message, meta) { if (meta) { return `[vexml] ${message} ${Object.entries(meta) .map(([key, value]) => `${key}=${value}`) .join(' ')}`; } return `[vexml] ${message}`; } } exports.ConsoleLogger = ConsoleLogger;