@serverless-devs/progress-bar
v0.0.3-beta.2
Published
progress-bar for serverless-devs
Downloads
368
Readme
下载(@serverless-devs/progress-bar)
安装
$ npm install @serverless-devs/progress-bar --save
基本使用
import ProgressBar, { ProgressType } from '@serverless-devs/progress-bar';
const bar = new ProgressService(
ProgressType.Loading,
{
total: 1000,
}
);
for (let i = 0; i < 1000; i += 50) {
bar.update(i);
}
bar.complete();
参数解析
import ProgressBar, { ProgressType } from '@serverless-devs/progress-bar';
const result = new ProgressService(
type,
options,
format,
);
| 参数 | 说明 | 类型 | 必填 | 默认值 |
| ------- | --------------- | ------- | ---- | ------ |
| type | 进度条的显示方式 | ProgressType.Bar
:总尺寸已知的进度条; ProgressType.Loading
:总大小未知的加载样式 | 是 | - |
| options | 进度条的选项 | Options | ProgressType.Bar
时必填 | - |
| format | 进度条格式, 详见format | String | 否 | - |
Options
| 参数 | 说明 | 类型 | 必填 | 默认值 |
| --------- | ------------ | ----------------------------- | ---- | ------------- |
| total | 要完成的数据总数 | number | 是 | ProgressType.Loading
时默认 100 |
| curr | 当前已完成索引 | number | 否 | - |
| width | 进度条显示宽度 | number | 否 | {total}
|
| renderThrottle | 更新之间的最短时间(以毫秒为单位) | number | 否 | 16 |
| stream | 输出流 | NodeJS.WritableStream | 否 | {process.stderr}
|
| head | 头部字符, 默认为完成字符 | string | 是 | {complete}
|
| complete | 完成字符 | string | 否 | =
|
| incomplete | 未完成字符 | string | 否 | -
|
| callback | 进度条完成时调用 | Function | 否 | - |
Format 简述
type 取值 ProgressType.Bar
时默认为 Loading ${green(':loading')} ((:bar)) :current/:total(Bytes) :percent :etas
type 取值 ProgressType.Loading
时默认为 Loading ${green(':loading')} ((:bar)) :etas
解析一下这段文字 Loading ${green(':loading')} ((:bar)) :current/:total(Bytes) :percent :etas
:
Loading
是一个显示前缀,可以替换为一些固定的文案。green()
是引入的 chalk, 显示一下颜色效果:loading
是 ['⣴', '⣆', '⢻', '⢪', '⢫']
交替显示的一个动态效果((:bar))
是显示进度条,由参数 options.total
控制总长度,使用 result.update(curr)
修改显示完成度。:current
显示当前完成度:total
要完成的数据总数:percent
完成的百分比:etas
估计完成时间(以秒为单位):elapsed
经过的时间(以秒为单位):rate
每秒刻度数
result
result.update
更新进度状态
接受参数为 number
类型
返回值 无
示例:
result.update(50)
result.terminate
中断进度条显示,并在上面写一条消息(此条信息不会被删除)
接受参数 string
返回值 无
示例:
result.interrupt('终')
result.terminate
终止显示
接受参数 无
返回值 无
示例:
result.terminate()
result.complete
获取完成状态
接受参数 无
返回值 boolean
示例:
const complete = result.complete()
result.curr
获取当前已完成索引
接受参数 无
返回值 number
示例:
const curr = result.curr()
result.total
获取要完成的数据总数
接受参数 无
返回值 number
示例:
const total = result.total()