patch-pulse
Version:
Check for outdated npm dependencies
37 lines • 925 B
JavaScript
import chalk from 'chalk';
export class ProgressSpinner {
interval = null;
currentIndex = 0;
spinners = [
'⠋',
'⠙',
'⠹',
'⠸',
'⠼',
'⠴',
'⠦',
'⠧',
'⠇',
'⠏',
];
message = '';
start(message) {
this.message = message;
this.currentIndex = 0;
this.interval = setInterval(() => {
process.stdout.write(`\r${chalk.cyan(this.spinners[this.currentIndex])} ${this.message}`);
this.currentIndex = (this.currentIndex + 1) % this.spinners.length;
}, 80);
}
updateMessage(message) {
this.message = message;
}
stop() {
if (this.interval) {
clearInterval(this.interval);
this.interval = null;
}
process.stdout.write('\r' + ' '.repeat(50) + '\r');
}
}
//# sourceMappingURL=progress.js.map