@wizecorp/stratusjs
Version:
Stratus React Framework
52 lines (51 loc) • 1.23 kB
JavaScript
import chalk from 'chalk';
import ora from 'ora';
export class Logger {
constructor() {
Object.defineProperty(this, "spinner", {
enumerable: true,
configurable: true,
writable: true,
value: null
});
}
info(message) {
console.log(chalk.blue('ℹ'), message);
}
success(message) {
console.log(chalk.green('✓'), message);
}
warn(message) {
console.log(chalk.yellow('⚠'), message);
}
error(message) {
console.log(chalk.red('✗'), message);
}
startSpinner(message) {
this.spinner = ora(message).start();
}
updateSpinner(message) {
if (this.spinner) {
this.spinner.text = message;
}
}
succeedSpinner(message) {
if (this.spinner) {
this.spinner.succeed(message);
this.spinner = null;
}
}
failSpinner(message) {
if (this.spinner) {
this.spinner.fail(message);
this.spinner = null;
}
}
stopSpinner() {
if (this.spinner) {
this.spinner.stop();
this.spinner = null;
}
}
}
export const logger = new Logger();