@nntdgrss/node-modules-cleaner
Version:
Утилита для поиска и удаления неиспользуемых node_modules директорий
90 lines (89 loc) • 2.48 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Spinner = void 0;
const ora_1 = __importDefault(require("ora"));
const chalk_1 = __importDefault(require("chalk"));
/**
* Класс для управления спиннером загрузки в консоли
*/
class Spinner {
/**
* Вывод информационного сообщения
* @param text - текст сообщения
*/
static info(text) {
if (this.instance) {
this.instance.info(text);
}
else {
console.log(chalk_1.default.blue("ℹ"), text);
}
}
/**
* Инициализация спиннера с текстом
* @param text - текст, отображаемый рядом со спиннером
*/
static start(text) {
this.instance = (0, ora_1.default)({
text,
color: "cyan",
spinner: "dots",
}).start();
}
/**
* Обновление текста спиннера
* @param text - новый текст
*/
static update(text) {
if (this.instance) {
this.instance.text = text;
}
}
/**
* Остановка спиннера с успешным статусом
* @param text - текст успешного завершения
*/
static success(text) {
if (this.instance) {
this.instance.succeed(text);
}
}
/**
* Остановка спиннера с ошибкой
* @param text - текст ошибки
*/
static error(text) {
if (this.instance) {
this.instance.fail(text);
}
}
/**
* Остановка спиннера с предупреждением
* @param text - текст предупреждения
*/
static warn(text) {
if (this.instance) {
this.instance.warn(text);
}
}
/**
* Очистка спиннера
*/
static clear() {
if (this.instance) {
this.instance.clear();
}
}
/**
* Остановка спиннера
*/
static stop() {
if (this.instance) {
this.instance.stop();
}
}
}
exports.Spinner = Spinner;