Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/watson/progress-string
Get a progress bar as a string
https://github.com/watson/progress-string
Last synced: 13 days ago
JSON representation
Get a progress bar as a string
- Host: GitHub
- URL: https://github.com/watson/progress-string
- Owner: watson
- License: mit
- Created: 2016-11-06T14:08:21.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-29T11:47:09.000Z (almost 7 years ago)
- Last Synced: 2024-10-23T08:55:09.591Z (21 days ago)
- Language: JavaScript
- Size: 24.4 KB
- Stars: 95
- Watchers: 5
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli - progress-string - Progress bar to be placed anywhere. (Animation)
README
# progress-string
Generate a CLI progress bar as a string that you can then output in any
way you like.[![Build status](https://travis-ci.org/watson/progress-string.svg?branch=master)](https://travis-ci.org/watson/progress-string)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)## Installation
```
npm install progress-string --save
```## Usage
```js
var progress = require('progress-string')
var diff = require('ansi-diff-stream')()var value = 0
var total = 42
var bar = progress({width: 50, total: total})setInterval(function () {
diff.write(
'The progress of the program is:\n' +
bar(++value)
)
if (value === total) process.exit()
}, 250)diff.pipe(process.stdout)
```## API
### `var bar = progress(options)`
This module exposes a function that takes a single `options` argument
and retuns a bar function.These are the options:
- `total` - (integer) The max value of the progress bar
- `width` - (integer, default: 42) The width of the progress bar in chars
- `incomplete` - (string, default: `-`) The char used to indicate the
incomplete part of the progress bar
- `complete` - (string, default: `=`) The char used to indicate the
completed part of the progress bar
- `style` - (function, optional) See `options.style` below for details#### `options.style`
You can provide a custom styling function to style the progress bar
returned by the `bar` function.It will be called with two arguments: `complete` and `incomplete`. Each
a string representing its part of the progress bar.Whatever the style function returns will be returned by the `bar`
function.```js
var bar = progress({
width: 10,
total: 100,
style: function (complete, incomplete) {
// add an arrow at the head of the completed part
return complete + '>' + incomplete
}
})console.log(bar(50)) // =====>-----
```### `var str = bar(value)`
Call the `bar` function with the `value` you want to the generated
progress bar to have.The `bar` function will return a string representation of the progress
bar.## License
MIT