@tucmc/hazel
Version:
Clubs Data Processing Framework
55 lines (54 loc) • 2.55 kB
JavaScript
;
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;