UNPKG

joezone

Version:

Just what I need, and nothing more.

71 lines 2.31 kB
/* Copyright (c) 2019 Joe Honton */ module.exports = class terminal { static gray(t) { return `${t}`; } static red(t) { return `${t}`; } static green(t) { return `${t}`; } static yellow(t) { return `${t}`; } static blue(t) { return `${t}`; } static magenta(t) { return `${t}`; } static cyan(t) { return `${t}`; } static white(t) { return `${t}`; } static trace(...t) { terminal.write(terminal.gray(' [TRACE] '), t.join('')); } static invalid(...t) { terminal.write(terminal.yellow(' [INVALID] '), t.join('')); } static warning(...t) { terminal.write(terminal.yellow(' [WARNING] '), t.join('')); } static error(...t) { terminal.write(terminal.red(' [ERROR] '), t.join('')); } static abnormal(...t) { terminal.write(terminal.red('[ABNORMAL] ') + terminal.getFunctionName(3), t.join('')); } static logic(...t) { terminal.write(terminal.red(' [LOGIC] ') + terminal.getFunctionName(3), t.join('')); } static setProcessName(t) { Object.defineProperty(terminal, 'processName', { value: t, writable: !0 }); } static getProcessName() { return void 0 == terminal.processName ? '' : terminal.gray(terminal.processName); } static write(t, e) { terminal.writeToConsoleOrStderr(terminal.getProcessName() + t + e + '\n'); } static writeToConsoleOrStderr(t) { if ('object' == typeof console && 'function' == typeof console.warn) console.warn(t); else { if ('object' != typeof process || 'object' != typeof process.stderr || 'function' != typeof process.stderr.write) throw new Error(t); process.stderr.write(t); } } static getFunctionName(t) { var e = new Error().stack.split('\n')[t], r = /at (.*) ?\(/g.exec(e), i = ''; return null == r ? e : (r.length > 1 && (i += r[1].trim()), `{${i = terminal.rightAlign(i, 30)}} `); } static rightAlign(t, e) { var r = e, i = t.length; return i > r ? t.substr(0, r - 3) + '...' : ' '.repeat(r + 1 - i) + t; } };