UNPKG

@wizecorp/stratusjs

Version:
52 lines (51 loc) 1.23 kB
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();