repomix
Version:
A tool to pack repository contents to single file for AI consumption
27 lines (26 loc) • 798 B
JavaScript
import { Spinner as PicoSpinner, renderer } from 'picospinner';
export class Spinner {
spinner;
constructor(message, cliOptions) {
const isQuiet = cliOptions?.quiet || cliOptions?.verbose || cliOptions?.stdout || false;
this.spinner = isQuiet ? null : new PicoSpinner(message);
}
start() {
if (!process.stdout.getWindowSize && process.env.COLUMNS) {
const columns = Number(process.env.COLUMNS);
if (columns > 0) {
renderer.terminalWidth = columns;
}
}
this.spinner?.start();
}
update(message) {
this.spinner?.setText(message, false);
}
succeed(message) {
this.spinner?.succeed(message);
}
fail(message) {
this.spinner?.fail(message);
}
}