UNPKG

@tucmc/hazel

Version:
55 lines (54 loc) 2.55 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Debugger = void 0; const ora_1 = __importDefault(require("ora")); const readline_sync_1 = __importDefault(require("readline-sync")); const Number_1 = require("../Number"); const Colour_1 = require("./Colour"); class Debugger { unit; constructor(unit) { this.unit = unit; } static debugTimestamp() { const date = new Date(); return `${Number_1.NumberUtil.zeroPad(date.getHours())}:${Number_1.NumberUtil.zeroPad(date.getMinutes())}:${Number_1.NumberUtil.zeroPad(date.getSeconds())}`; } info(message) { console.info(`${Debugger.debugTimestamp()} | ${this.unit} | ${Colour_1.ConsoleColour.GRAY}${message} ${Colour_1.ConsoleColour.RESET}`); } loadingInfo(loadingText) { const spinner = (0, ora_1.default)(); spinner.prefixText = `${Debugger.debugTimestamp()} | ${this.unit} | ${Colour_1.ConsoleColour.GRAY}`; spinner.start(loadingText + '\n'); spinner.text = loadingText; return spinner; } dump(data) { console.log(`${Debugger.debugTimestamp()} | ${this.unit} | ${Colour_1.ConsoleColour.GRAY}`, data, Colour_1.ConsoleColour.RESET); } table(data) { console.log(`${Debugger.debugTimestamp()} | ${this.unit} | ${Colour_1.ConsoleColour.GRAY} vvv TABLE vvv ${Colour_1.ConsoleColour.RESET}`); console.table(data); } err(message) { console.error(`${Debugger.debugTimestamp()} | ${this.unit} | ${Colour_1.ConsoleColour.RED}${message} ${Colour_1.ConsoleColour.RESET}`); } warn(message) { console.warn(`${Debugger.debugTimestamp()} | ${this.unit} | ${Colour_1.ConsoleColour.YELLOW}${message} ${Colour_1.ConsoleColour.RESET}`); } pauseForQuestion(question) { return readline_sync_1.default.question(`${Colour_1.ConsoleColour.BGRED}${Colour_1.ConsoleColour.BOLD}${question}:${Colour_1.ConsoleColour.RESET} `); } pauseForYNQuestion(question = 'Are you sure?') { const ans = this.pauseForQuestion(`${question} [y/n]`); return ans.toLowerCase() === 'y' || ans.toLowerCase() === 'yes'; } pauseForAnyKey(text = 'Press any key to continue.') { readline_sync_1.default.keyIn(`${Colour_1.ConsoleColour.BGYELLOW}${Colour_1.ConsoleColour.BOLD}${text}${Colour_1.ConsoleColour.RESET}`); } } exports.Debugger = Debugger;