@codedungeon/messenger
Advanced tools
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| // 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| // console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger.info('', 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger[lbl('', 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger[lbl]('', 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger.info('', 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger.info(command, 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger.success(command, 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger[lbl](command, 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger[lbl]('HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger[lbl]('', 'HELLO') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| Messenger[lbl](`${command} label`) | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log('${test}') | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(`${test}`) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| Messenger['INFO']('test') | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| Messenger['lblInfo']('test') | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log(test.stripAnsi()) | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log(stripAnsi(`${command} label`.toLocaleUpperCase())) | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log(stripAnsi(lbl)) | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| commands = ['info'] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const { default: chalk } = require('chalk') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + chalk.blue(' <== Formatted Label Only')) | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const { default: chalk } = require('chalk') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + chalk.cyan(' <== Formatted Label Only')) | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const { default: chalk } = require('chalk') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| const colors = require('chalk') | ||
| const Messenger = require('../src/messenger') | ||
| Messenger.initLogger(true, 'logs', 'messenger') | ||
| const stripAnsi = require('strip-ansi') | ||
| const { default: chalk } = require('chalk') | ||
| const titleCase = str => { | ||
| return str.replace(/\w\S*/g, function(txt) { | ||
| return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() | ||
| }) | ||
| } | ||
| let showIcon = true | ||
| let showLabel = true | ||
| console.log('') | ||
| let commands = [ | ||
| 'critical', | ||
| 'error', | ||
| 'success', | ||
| 'warning', | ||
| 'warn', | ||
| 'important', | ||
| 'info', | ||
| 'note', | ||
| 'notice', | ||
| 'log', | ||
| 'debug', | ||
| 'status' | ||
| ] | ||
| let testObj = { fname: 'Mike', lname: 'Erickson' } | ||
| commands.forEach(command => { | ||
| Messenger[command](`test ${command}`) | ||
| Messenger[command](testObj) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson']) | ||
| Messenger[command]([command, 'mike', 'joseph', 'erickson'], command.toUpperCase()) | ||
| Messenger[command]( | ||
| [command, 'mike', 'joseph', 'erickson'], | ||
| showLabel ? command.toUpperCase() : '', | ||
| showIcon | ||
| ) | ||
| let lbl = 'lbl' + titleCase(command) | ||
| let test = Messenger[lbl](`${command} label`.toLocaleUpperCase()) | ||
| console.log(test + ' <== Formatted Label Only (default color intentional)') | ||
| console.log('') | ||
| }) | ||
| Messenger.write('log', 'write static') | ||
| Messenger.dd('stop') | ||
| Messenger.info('Lines displayed width of terminal window') | ||
| Messenger.line('.') | ||
| Messenger.line('_') | ||
| console.log('') | ||
| console.log('') | ||
| Messenger.center('message centered in available terminal window') | ||
| Messenger.center('alternate message') | ||
| console.log('') | ||
| Messenger.center(colors.green('message centered in available terminal window')) | ||
| Messenger.center(colors.magenta('alternate message')) | ||
| console.log('') | ||
| Messenger.dump('this', 'is', 'a', 'test') | ||
| let msg = 'Hello World' | ||
| console.log('') | ||
| Messenger.line('-') | ||
| console.log('') | ||
| Messenger.alert({ type: 'critical', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: false }) | ||
| Messenger.alert({ type: 'critical', msg, label: 'CRITICAL', icon: true }) | ||
| console.log('') | ||
| process.exit() | ||
| Messenger.alert({ type: 'error', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: false }) | ||
| Messenger.alert({ type: 'error', msg, label: 'ERROR', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'debug', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: false }) | ||
| Messenger.alert({ type: 'debug', msg, label: 'DEBUG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'important', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: false }) | ||
| Messenger.alert({ type: 'important', msg, label: 'IMPORTANT', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'info', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: false }) | ||
| Messenger.alert({ type: 'info', msg, label: 'INFO', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'log', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: false }) | ||
| Messenger.alert({ type: 'log', msg, label: 'LOG', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'note', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: false }) | ||
| Messenger.alert({ type: 'note', msg, label: 'NOTE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'notice', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: false }) | ||
| Messenger.alert({ type: 'notice', msg, label: 'NOTICE', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'status', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: false }) | ||
| Messenger.alert({ type: 'status', msg, label: 'STATUS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'success', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: false }) | ||
| Messenger.alert({ type: 'success', msg, label: 'SUCCESS', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warn', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: false }) | ||
| Messenger.alert({ type: 'warn', msg, label: 'WARN', icon: true }) | ||
| console.log('') | ||
| Messenger.alert({ type: 'warning', msg, label: '', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: false }) | ||
| Messenger.alert({ type: 'warning', msg, label: 'WARNING', icon: true }) | ||
| console.log('') | ||
| Messenger.print({ msg: 'Print Test' }) | ||
| Messenger.print({ msg: 'Print Test', label: 'INFO' }) | ||
| Messenger.print({ type: 'success', msg: 'Print Test', label: '', icon: true }) | ||
| console.log('') |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| console.log('${output}') | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| console.log(`${output}`) | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| console.log(`here ${label}`) | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger | ||
| * | ||
| * Copyright (c) 2020-2021 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const utils = require('./utils') | ||
| const Logger = require('./logger') | ||
| const clearCli = require('cli-clear') | ||
| const stripAnsi = require('strip-ansi') | ||
| let windowSize = require('window-size') | ||
| const { dd, dump } = require('dumper.js') | ||
| const { format, getMilliseconds, isThisISOWeek } = require('date-fns') | ||
| const homedir = require('node-homedir') | ||
| const path = require('path') | ||
| const pkgInfo = require('../package.json') | ||
| /* istanbul ignore next */ | ||
| if (windowSize === undefined) { | ||
| // this is required when message executed in non terminal window -- such as VSCode code runner | ||
| windowSize = { width: 100 } | ||
| } | ||
| /** | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| const print = args => { | ||
| // console.log(args); | ||
| // this has been disabled, using jest function mock instead | ||
| /* istanbul ignore next */ | ||
| process.env.NODE_ENV === 'test' ? null : console.log(args) | ||
| } | ||
| /** | ||
| * Messenger | ||
| * | ||
| * @class Messenger | ||
| */ | ||
| class Messenger { | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| /** | ||
| *Creates an instance of Messenger. | ||
| * @memberof Messenger | ||
| */ | ||
| constructor() { | ||
| this.systemLog = false | ||
| this.appName = '@codedungeon/messenger' | ||
| this.logToFile = false | ||
| this.methods = [ | ||
| 'write', | ||
| 'critical', | ||
| 'lblCritical', | ||
| 'danger', | ||
| 'lblDanger', | ||
| 'debug', | ||
| 'error', | ||
| 'lblError', | ||
| 'important', | ||
| 'lblImportant', | ||
| 'info', | ||
| 'lblInfo', | ||
| 'log', | ||
| 'note', | ||
| 'notice', | ||
| 'lblNotice', | ||
| 'status', | ||
| 'success', | ||
| 'lblSuccess', | ||
| 'warn', | ||
| 'lblWarn', | ||
| 'warning', | ||
| 'lblWarning' | ||
| ] | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @param {*} type | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| icons(type) { | ||
| return utils.icons(type) | ||
| } | ||
| /** | ||
| * messageColors | ||
| * | ||
| * @param {string} [type='info'] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| messageColors(type = 'info') { | ||
| return utils.messageColors(type) | ||
| } | ||
| /** | ||
| * version | ||
| * | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| version() { | ||
| return pkgInfo.version | ||
| } | ||
| /** | ||
| * alert | ||
| * | ||
| * @param {object} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| alert(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /** | ||
| * | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| print(config = {}) { | ||
| let alertConfig = this.validateConfig(Object.assign({ type: 'info', msg: '', icon: false }, config)) | ||
| return this[alertConfig.type](alertConfig.msg, alertConfig.label, alertConfig.icon) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * initLogger | ||
| * | ||
| * @param {boolean} [logToFile=false] | ||
| * @param {string} [logDir="logs"] | ||
| * @param {string} [appName="app"] | ||
| * @memberof Messenger | ||
| */ | ||
| initLogger(logToFile = false, logDir = 'logs', appName = 'app') { | ||
| if (logDir === 'system') { | ||
| if (process.platform === 'win32') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| if (process.platform === 'darwin') { | ||
| logDir = path.join(homedir(), 'Library', 'Logs') | ||
| } | ||
| this.systemLog = true | ||
| } | ||
| this.logToFile = logToFile | ||
| this.appName = appName | ||
| this.logger = new Logger({ path: logDir, appName, system: this.systemLog }) | ||
| this.methods = this.logger.methods() | ||
| } | ||
| clearLog() { | ||
| this.logger.clear() | ||
| } | ||
| disableLog() { | ||
| this.logToFile = false | ||
| } | ||
| enableLog() { | ||
| this.logToFile = true | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * writeToLog | ||
| * | ||
| * @param {string} [type=""] | ||
| * @param {*} args | ||
| * @memberof Messenger | ||
| */ | ||
| writeToLog(type = '', label = '', msg = '', forceLogToFile = false) { | ||
| if (this.logToFile || forceLogToFile) { | ||
| if (this.methods.includes(type)) { | ||
| let output = stripAnsi(msg).replace(/\n/gi, ' - ') | ||
| if (this.logger) { | ||
| return this.logger[type](output) | ||
| } | ||
| } | ||
| } | ||
| return '' | ||
| } | ||
| /** | ||
| * clear | ||
| * | ||
| * @memberof Messenger | ||
| */ | ||
| clear() { | ||
| clearCli() | ||
| } | ||
| /** | ||
| * loggerWrite | ||
| * | ||
| * @param {*} type (default: log) | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWrite(type = 'log', msg = '') { | ||
| this.writeToLog(type, '', msg, true) | ||
| return msg | ||
| } | ||
| /** | ||
| * write | ||
| * | ||
| * @param {string} [type="log"] | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| write(type = '', msg = '') { | ||
| let label = '' | ||
| let showIcon = false | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| if (this !== undefined) { | ||
| this.writeToLog(type, label, msg) | ||
| } | ||
| return output | ||
| } | ||
| /** | ||
| * critical | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| critical(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('critical') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orangered').black(label)}${label ? ' ' : ''}${icon}${colors.keyword( | ||
| 'orangered' | ||
| )(msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('critical', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblCritical(label = '') { | ||
| return colors.bgKeyword('orangered').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerCritical | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerCritical(msg = '') { | ||
| return this.writeToLog('critical', '', msg, true) | ||
| } | ||
| /** | ||
| * error | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| error(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('error') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('error', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblError(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerError | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerError(msg = '') { | ||
| return this.writeToLog('error', '', msg, true) | ||
| } | ||
| /** | ||
| * danger | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| danger(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('danger') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgRed.black(label)}${label ? ' ' : ''}${colors.red(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('danger', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDanger(label = '') { | ||
| return colors.bgRed.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDanger | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDanger(msg = '') { | ||
| return this.writeToLog('danger', '', msg, true) | ||
| } | ||
| /** | ||
| * success | ||
| * | ||
| * @param {object | string} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| success(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('success') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgGreen.black(label)}${label ? ' ' : ''}${colors.green(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('success', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblSuccess(label = '') { | ||
| return colors.bgGreen.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerSuccess | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerSuccess(msg = '') { | ||
| return this.writeToLog('success', '', msg, true) | ||
| } | ||
| /** | ||
| * warning | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warning(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warning') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warning', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarning(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarning | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarning(msg = '') { | ||
| return this.writeToLog('warning', '', msg, true) | ||
| } | ||
| /** | ||
| * warn | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| warn(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('warn') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('warn', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblWarn(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerWarn | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerWarn(msg = '') { | ||
| return this.writeToLog('warn', '', msg, true) | ||
| } | ||
| /** | ||
| * important | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| important(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('important') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}${colors.yellow(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('important', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblImportant(label = '') { | ||
| return colors.bgYellow.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerImportant | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerImportant(msg = '') { | ||
| return this.writeToLog('important', '', msg, true) | ||
| } | ||
| /** | ||
| * info | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| info(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('info') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('info', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblInfo(label = '') { | ||
| return colors.bgCyan.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerInfo | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerInfo(msg = '') { | ||
| return this.writeToLog('info', '', msg, true) | ||
| } | ||
| /** | ||
| * debug | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| debug(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('debug') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('darkgray').black(label)}${label ? ' ' : ''}${colors.gray(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('debug', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblDebug(label = '') { | ||
| return colors.bgKeyword('darkgray').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerDebug | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerDebug(msg = '') { | ||
| return this.writeToLog('debug', '', msg, true) | ||
| } | ||
| /** | ||
| * log | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| log(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('log') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgWhite.black(label)}${label ? ' ' : ''}${icon + msg}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('log', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblLog(label = '') { | ||
| return colors.bgWhite.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerLog | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerLog(msg = '') { | ||
| return this.writeToLog('log', '', msg, true) | ||
| } | ||
| /** | ||
| * status | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| status(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('status') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}${colors.magenta(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('status', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblStatus(label = '') { | ||
| return colors.bgMagenta.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerStatus | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerStatus(msg = '') { | ||
| return this.writeToLog('status', '', msg, true) | ||
| } | ||
| /** | ||
| * notice | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| notice(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('notice') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.blue(icon + msg)}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('notice', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNotice(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNotice | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNotice(msg = '') { | ||
| return this.writeToLog('notice', '', msg, true) | ||
| } | ||
| /** | ||
| * note | ||
| * | ||
| * @param {*} msg | ||
| * @param {string} [label=""] | ||
| * @param {boolean} [showIcon=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| note(msg = '', label = '', showIcon = false) { | ||
| label = label ? ' ' + label + ' ' : '' | ||
| let icon = showIcon ? utils.icons('note') + ' ' : '' | ||
| msg = utils.formatMessage(msg) | ||
| let output = `${colors.bgKeyword('orange').black(label)}${label ? ' ' : ''}${colors.keyword('orange')( | ||
| icon + msg | ||
| )}` | ||
| print(output) | ||
| if (this !== undefined) { | ||
| this.writeToLog('note', label, msg) | ||
| } | ||
| return output | ||
| } | ||
| lblNote(label = '') { | ||
| return colors.bgKeyword('orange').black(` ${label} `) | ||
| } | ||
| /** | ||
| * loggerNote | ||
| * | ||
| * @param {*} msg | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| loggerNote(msg = '') { | ||
| return this.writeToLog('note', '', msg, true) | ||
| } | ||
| /* istanbul ignore next */ | ||
| /** | ||
| * processing | ||
| * | ||
| * @param {*} msg | ||
| * @memberof Messenger | ||
| */ | ||
| processing(msg = '') { | ||
| console.log(colors.yellow(msg)) | ||
| } | ||
| /** | ||
| * timestamp | ||
| * | ||
| * @param {boolean} [useAMPM=false] | ||
| * @param {boolean} [showSeconds=true] | ||
| * @param {boolean} [showMicro=false] | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| timestamp(useAMPM = false, showSeconds = true, showMicro = false) { | ||
| let tsd = new Date() | ||
| let tsFormat = showSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm' | ||
| tsFormat = useAMPM ? tsFormat + ' a' : tsFormat | ||
| let ms = showMicro && !useAMPM ? '.' + padZero(getMilliseconds(tsd), 3) : '' | ||
| return format(tsd, tsFormat) + ms | ||
| } | ||
| /** | ||
| * terminalInfo | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| terminalInfo() { | ||
| return windowSize | ||
| } | ||
| /** | ||
| * dd (die dump) | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dd(...data) { | ||
| dd(data) | ||
| } | ||
| /** | ||
| * dump | ||
| * | ||
| * @param {*} data | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| dump(...data) { | ||
| dump(data) | ||
| } | ||
| /** | ||
| * line | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| line(msg = '') { | ||
| let output = msg | ||
| if (windowSize !== undefined) { | ||
| output = msg.repeat(windowSize.width - 2, msg) | ||
| } | ||
| print(output) | ||
| return output | ||
| } | ||
| /** | ||
| * center | ||
| * | ||
| * @param {string} [msg=""] | ||
| * @param {string} [fillText=" "] | ||
| * @memberof Messenger | ||
| */ | ||
| /* istanbul ignore next */ | ||
| center(msg = '', fillText = ' ') { | ||
| // if the terminal width is shorter than message length, dont display fillText | ||
| let width = windowSize === undefined ? 100 : windowSize.width | ||
| if (stripAnsi(msg).length >= width) { | ||
| print(msg) | ||
| return msg | ||
| } else { | ||
| let left = parseInt((width - stripAnsi(msg).length) / 2, 10) | ||
| let padStr = fillText.repeat(left / stripAnsi(fillText).length) | ||
| let output = padStr + msg + padStr | ||
| print(output) | ||
| return output | ||
| } | ||
| } | ||
| /** | ||
| * icons | ||
| * | ||
| * @returns | ||
| * @memberof Messenger | ||
| */ | ||
| getIcons() { | ||
| return utils.icons | ||
| } | ||
| /** | ||
| * validateConfig | ||
| * | ||
| * @param {*} [config={}] | ||
| * @return {*} | ||
| * @memberof Messenger | ||
| */ | ||
| validateConfig(config = {}) { | ||
| let finalConfig = Object.assign(config) | ||
| finalConfig.type = finalConfig.type === '' ? 'info' : finalConfig.type | ||
| if (!this.methods.includes(finalConfig.type)) { | ||
| finalConfig.type = 'info' | ||
| } | ||
| return finalConfig | ||
| } | ||
| } | ||
| // export all methods so they call be used statically | ||
| exports.write = new Messenger().critical | ||
| exports.critical = new Messenger().critical | ||
| exports.lblCritical = new Messenger().lblCritical | ||
| exports.danger = new Messenger().danger | ||
| exports.lblDanger = new Messenger().lblDanger | ||
| exports.error = new Messenger().error | ||
| exports.lblError = new Messenger().lblError | ||
| exports.success = new Messenger().success | ||
| exports.lblSuccess = new Messenger().lblSuccess | ||
| exports.warning = new Messenger().warning | ||
| exports.lblWarning = new Messenger().lblWarning | ||
| exports.warn = new Messenger().warn | ||
| exports.lblWarn = new Messenger().lblWarning | ||
| exports.important = new Messenger().important | ||
| exports.important = new Messenger().lblImportant | ||
| exports.info = new Messenger().info | ||
| exports.lblInfo = new Messenger().lblInfo | ||
| exports.notice = new Messenger().notice | ||
| exports.lblNotice = new Messenger().lblNotice | ||
| exports.status = new Messenger().status | ||
| exports.status = new Messenger().lblStatus | ||
| exports.debug = new Messenger().debug | ||
| exports.lblDebug = new Messenger().lblDebug | ||
| exports.log = new Messenger().log | ||
| exports.lblLog = new Messenger().lblLog | ||
| exports.dd = new Messenger().dd | ||
| exports.dump = new Messenger().dump | ||
| exports.terminalInfo = new Messenger().terminalInfo | ||
| exports.center = new Messenger().center | ||
| exports.line = new Messenger().line | ||
| exports.icons = new Messenger().icons | ||
| exports.getIcons = new Messenger().getIcons | ||
| exports.messageColors = new Messenger().messageColors | ||
| module.exports = new Messenger() |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function (type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️', | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: (msg) => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: (type) => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| info: { fg: '36m', bg: '46m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' }, | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function (type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function (type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| }, | ||
| } |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function(type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: msg => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: type => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| // info: { fg: '36m', bg: '46m' }, | ||
| info: { fg: '33m', bg: '43m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| } | ||
| } |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function(type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: msg => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: type => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| info: { fg: '36m', bg: '46m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| } | ||
| } |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function(type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: msg => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: type => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| info: { fg: '36m', bg: '46m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| } | ||
| } |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function(type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: msg => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: type => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| info: { fg: '36m', bg: '46m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| } | ||
| } |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function(type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: msg => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: type => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| info: { fg: '36m', bg: '46m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| // output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| } | ||
| } |
| /*------------------------------------------------------------------------------------------- | ||
| * @codedungeon/messenger/utils | ||
| * | ||
| * Copyright (c) 2020 Mike Erickson / Codedungeon. All rights reserved. | ||
| * Licensed under the MIT license. See LICENSE in the project root for license information. | ||
| * -----------------------------------------------------------------------------------------*/ | ||
| const os = require('os') | ||
| const colors = require('chalk') | ||
| const { dd, dump } = require('dumper.js') | ||
| module.exports = { | ||
| icons: function(type) { | ||
| let icons = { | ||
| critical: '🚫', | ||
| danger: '🚫', | ||
| debug: '◼', | ||
| error: '✖', | ||
| important: '★', | ||
| info: '⌽', | ||
| info_alt: '💡', | ||
| log: '⇢', | ||
| note: '◉', | ||
| notice: '◉', | ||
| status: '◯', | ||
| success: '✔', | ||
| warn: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
| return icons[type] | ||
| }, | ||
| padZero: (num = 0, size = 3) => { | ||
| return ('000000000' + num).substr(-size) | ||
| }, | ||
| formatMessage: msg => { | ||
| let result = msg | ||
| if (Array.isArray(msg)) { | ||
| return msg.join(' ') | ||
| } | ||
| if (typeof msg === 'object') { | ||
| if (Array.isArray(msg)) { | ||
| result = msg.toString().replace(/,/gi, ' ') | ||
| } else { | ||
| result = JSON.stringify(msg) | ||
| result = result.replace(/,/gi, ', ').replace(/:/gi, ': ') | ||
| } | ||
| } | ||
| return result | ||
| }, | ||
| messageColors: type => { | ||
| let colors = { | ||
| critical: { fg: '38m', bg: '48m' }, | ||
| danger: { fg: '31m', bg: '41m' }, | ||
| debug: { fg: '90m', bg: '48m' }, | ||
| error: { fg: '31m', bg: '41m' }, | ||
| important: { fg: '33m', bg: '43m' }, | ||
| info: { fg: '36m', bg: '46m' }, | ||
| log: { fg: '37m', bg: '47m' }, | ||
| note: { fg: '38m', bg: '48m' }, | ||
| notice: { fg: '34m', bg: '44m' }, | ||
| status: { fg: '35m', bg: '45m' }, | ||
| success: { fg: '32m', bg: '42m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
| // if (os.platform() === 'linux') { | ||
| // messageColors.critical.fg = '001b[91m' | ||
| // messageColors.critical.bg = '001b[101m' | ||
| // messageColors.note.fg = '001b[93m' | ||
| // messageColors.note.bg = '001b[103m' | ||
| // messageColors.debug.fg = '001b[90m' | ||
| // messageColors.debug.bg = '001b[47m' | ||
| // } | ||
| return colors[type] | ||
| }, | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
| let output = '' | ||
| if (label.length === 0) { | ||
| return | ||
| } | ||
| label = label[0] === ' ' ? label : ' ' + label + ' ' | ||
| switch (type) { | ||
| case 'critical': | ||
| output = `${colors.bgKeyword('orangered').black(label)}\n` | ||
| break | ||
| case 'danger': | ||
| case 'error': | ||
| output = `${colors.bgRed.black(label)}\n` | ||
| break | ||
| case 'debug': | ||
| output = `${colors.bgKeyword('darkgray').black(label)}\n` | ||
| break | ||
| case 'important': | ||
| output = `${colors.bgYellow.black(label)}\n` | ||
| break | ||
| case 'info': | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| case 'log': | ||
| output = `${colors.bgWhite.black(label)}\n` | ||
| break | ||
| case 'note': | ||
| output = `${colors.bgKeyword('orange').black(label)}\n` | ||
| break | ||
| case 'notice': | ||
| output = `${colors.bgBlue.black(label)}\n` | ||
| break | ||
| case 'success': | ||
| output = `${colors.bgGreen.black(label)}\n` | ||
| break | ||
| case 'status': | ||
| output = `${colors.bgMagenta.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| case 'warn': | ||
| case 'warning': | ||
| output = `${colors.bgYellow.black(label)}${label ? ' ' : ''}\n` | ||
| break | ||
| default: | ||
| output = `${colors.bgCyan.black(label)}\n` | ||
| break | ||
| } | ||
| if (output.length > 0) { | ||
| process.env.NODE_ENV === 'test' ? null : console.log(output) | ||
| } | ||
| /* eslint-enable */ | ||
| }, | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
| if (label) { | ||
| this.label(type, label) | ||
| } | ||
| dump(obj) | ||
| return true | ||
| } | ||
| return false | ||
| } | ||
| } |
+1
-1
| { | ||
| "name": "@codedungeon/messenger", | ||
| "version": "0.14.0", | ||
| "version": "0.14.1", | ||
| "description": "clean node console messaging and logging", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
+2
-2
@@ -522,3 +522,3 @@ /*------------------------------------------------------------------------------------------- | ||
| let output = `${colors.bgBlue.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
| let output = `${colors.bgCyan.black(label)}${label ? ' ' : ''}${colors.cyan(icon + msg)}` | ||
@@ -534,3 +534,3 @@ print(output) | ||
| lblInfo(label = '') { | ||
| return colors.bgBlue.black(` ${label} `) | ||
| return colors.bgCyan.black(` ${label} `) | ||
| } | ||
@@ -537,0 +537,0 @@ |
+8
-8
@@ -13,3 +13,3 @@ /*------------------------------------------------------------------------------------------- | ||
| module.exports = { | ||
| icons: function (type) { | ||
| icons: function(type) { | ||
| let icons = { | ||
@@ -29,3 +29,3 @@ critical: '🚫', | ||
| warn: '⚠️', | ||
| warning: '⚠️', | ||
| warning: '⚠️' | ||
| } | ||
@@ -39,3 +39,3 @@ return icons[type] | ||
| formatMessage: (msg) => { | ||
| formatMessage: msg => { | ||
| let result = msg | ||
@@ -57,3 +57,3 @@ if (Array.isArray(msg)) { | ||
| messageColors: (type) => { | ||
| messageColors: type => { | ||
| let colors = { | ||
@@ -72,3 +72,3 @@ critical: { fg: '38m', bg: '48m' }, | ||
| warn: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' }, | ||
| warning: { fg: '33m', bg: '43m' } | ||
| } | ||
@@ -86,3 +86,3 @@ // if (os.platform() === 'linux') { | ||
| label: function (type = 'info', label = '') { | ||
| label: function(type = 'info', label = '') { | ||
| /* eslint-disable */ | ||
@@ -142,3 +142,3 @@ let output = '' | ||
| object: function (type, obj = null, label = null) { | ||
| object: function(type, obj = null, label = null) { | ||
| if (typeof obj === 'object') { | ||
@@ -152,3 +152,3 @@ if (label) { | ||
| return false | ||
| }, | ||
| } | ||
| } |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
512049
501.13%68
353.33%15807
1147.59%22
633.33%1
Infinity%