kist
Version:
Lightweight Package Pipeline Processor with Plugin Architecture
48 lines • 1.4 kB
TypeScript
import { AbstractProcess } from "../abstract/AbstractProcess.js";
interface ProgressOptions {
total: number;
label?: string;
showPercentage?: boolean;
showEta?: boolean;
updateInterval?: number;
formatFn?: (progress: ProgressState) => string;
}
interface ProgressState {
completed: number;
total: number;
percentage: number;
elapsed: number;
eta: number | null;
rate: number;
label: string;
}
export declare class ProgressReporter extends AbstractProcess {
private total;
private completed;
private label;
private showPercentage;
private showEta;
private updateInterval;
private formatFn?;
private startTime;
private lastUpdateTime;
private lastReportedPercentage;
private isRunning;
constructor(options: ProgressOptions);
start(): void;
increment(amount?: number): void;
setCompleted(value: number): void;
finish(): void;
cancel(): void;
getState(): ProgressState;
getPercentage(): number;
getElapsed(): number;
private maybeReport;
private report;
private formatProgress;
private formatDuration;
}
export declare function createFileProgress(fileCount: number, label?: string): ProgressReporter;
export declare function createBuildProgress(stepCount: number, label?: string): ProgressReporter;
export {};
//# sourceMappingURL=ProgressReporter.d.ts.map