@bramato/openrouter-mock-generator
Version:
AI-powered mock data generator using OpenRouter API with JSON mode support
89 lines • 2.66 kB
TypeScript
/**
* ProgressManager - Gestore centralizzato per le progress bar
*
* Fornisce progress bar visive per diverse operazioni:
* - Generazione dati mock
* - Processing immagini
* - Upload su cloud storage
* - Operazioni batch
*/
import * as cliProgress from 'cli-progress';
export interface ProgressConfig {
title: string;
total: number;
format?: string;
hideCursor?: boolean;
clearOnComplete?: boolean;
stopOnComplete?: boolean;
}
export declare class ProgressManager {
private bars;
private multiBar;
private isMultiMode;
/**
* Crea una progress bar singola
*/
createSingleBar(config: ProgressConfig): cliProgress.SingleBar;
/**
* Inizializza modalità multi-bar per operazioni parallele
*/
initMultiBar(): void;
/**
* Aggiunge una progress bar al multi-bar
*/
addBar(id: string, config: ProgressConfig): cliProgress.SingleBar | null;
/**
* Aggiorna progress di una specifica bar
*/
updateBar(id: string, value: number, payload?: any): void;
/**
* Incrementa progress di una specifica bar
*/
incrementBar(id: string, increment?: number, payload?: any): void;
/**
* Imposta una bar come completata
*/
completeBar(id: string, successMessage?: string): void;
/**
* Imposta una bar come fallita
*/
failBar(id: string, errorMessage?: string): void;
/**
* Ferma tutte le progress bar
*/
stopAll(): void;
/**
* Progress bar per generazione mock data
*/
createMockGenerationBar(total: number): cliProgress.SingleBar;
/**
* Progress bar per processing immagini
*/
createImageProcessingBar(total: number): cliProgress.SingleBar;
/**
* Progress bar per upload cloud
*/
createUploadBar(total: number): cliProgress.SingleBar;
/**
* Setup completo per pipeline di processing
*/
setupProcessingPipeline(mockCount: number, imageCount: number): {
mockBar: cliProgress.SingleBar | null;
imageBar: cliProgress.SingleBar | null;
uploadBar: cliProgress.SingleBar | null;
};
/**
* Utility per mostrare progress con callback
*/
static withProgress<T>(config: ProgressConfig, operation: (updateProgress: (value: number, payload?: any) => void) => Promise<T>): Promise<T>;
/**
* Progress bar animata per operazioni indeterminate
*/
createSpinner(title: string): cliProgress.SingleBar;
/**
* Ferma spinner animato
*/
stopSpinner(spinner: cliProgress.SingleBar): void;
}
export default ProgressManager;
//# sourceMappingURL=progress-manager.d.ts.map