@feng-j/console-progress
Version:
在 node 终端控制台中输出进度条
63 lines (62 loc) • 1.65 kB
TypeScript
import { BaseLine, PayloadType, ProgressOption } from './baseLine';
export interface MultiLineOption extends ProgressOption {
log?: boolean;
hideCursor?: boolean;
}
interface MultiLineItem extends BaseLine {
originUpdate(finishedTask: number, data?: PayloadType): void;
originIncrement(step: number, data?: PayloadType): void;
}
export declare class MultiLine {
private readonly lineOption;
private lines;
private cursor;
constructor(option?: MultiLineOption);
private write;
/**
* 检查索引是否越界
* @param index
* @private
*/
private checkIndex;
/**
* 更新进度条
* @param index 索引
* @param finishedTask 已完成任务数量
* @param data 自定义渲染数据
*/
update(index: number, finishedTask: number, data?: PayloadType): void;
/**
* 增加进度条
* @param index 索引
* @param step 步进数量
* @param data 自定义渲染数据
*/
increment(index: number, step?: number, data?: PayloadType): void;
/**
* 创建进度条
* @param allTaskCount 全部任务数量
* @param current 已完成任务数量
* @param option 进度条配置
* @param data 自定义渲染数据
*/
create(allTaskCount: number, current?: number, option?: ProgressOption, data?: PayloadType): BaseLine;
/**
* 输出进度条
* @private
*/
private log;
/**
* 渲染进度条
*/
render(): string;
/**
* 获取进度条list
*/
getLines(): MultiLineItem[];
/**
* 停止进度条
*/
stop(): void;
}
export {};