@feng-j/console-progress
Version:
在 node 终端控制台中输出进度条
65 lines (64 loc) • 1.62 kB
TypeScript
export type PayloadType = Record<string, string | number>;
export interface ProgressOption {
leftChar?: string;
leftColor?: string;
rightChar?: string;
rightColor?: string;
name?: string;
format?: string;
payload?: PayloadType;
}
export declare class BaseLine {
private readonly progressOption;
protected readonly charLength = 50;
protected finishedTask: number;
protected allTask: number;
protected percent: number;
protected payload: PayloadType;
constructor(option?: ProgressOption);
/**
* 渲染进度条
*/
private progressRender;
/**
* 开始任务
* @param total 全部任务数量
* @param current 已完成的任务数量
* @param data 自定义渲染数据
* @protected
*/
start(total: number, current?: number, data?: PayloadType): void;
/**
* 更新数据
* @param finishedTask 已完成的任务数量
* @param data 自定义渲染数据
* @protected
*/
update(finishedTask: number, data?: PayloadType): void;
/**
* 步进任务数量
* @param step 步进数量
* @param data 渲染进度条需要的额外数量
*/
increment(step?: number, data?: PayloadType): void;
/**
* 任务是否已完成
*/
isFinished(): boolean;
/**
* 获取已完成数量
*/
getFinishedTaskCount(): number;
/**
* 获取全部任务数量
*/
getAllTaskCount(): number;
/**
* 获取任务名称
*/
get name(): string;
/**
* 渲染d单行进度条
*/
render(): string;
}