Tons of Solutions Engineering work done today for the rest of the CS team! Headway, Howard Hanna, Engels, Brighton, etc. Also completed Datasnippers auth flow and worked on Anthology's script. Cloned Anthology's courses (900..) and will clone Full Story on Monday.
This commit is contained in:
146
Scripts/node_modules/progress/Readme.md
generated
vendored
Normal file
146
Scripts/node_modules/progress/Readme.md
generated
vendored
Normal file
@ -0,0 +1,146 @@
|
||||
Flexible ascii progress bar.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
$ npm install progress
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
First we create a `ProgressBar`, giving it a format string
|
||||
as well as the `total`, telling the progress bar when it will
|
||||
be considered complete. After that all we need to do is `tick()` appropriately.
|
||||
|
||||
```javascript
|
||||
var ProgressBar = require('progress');
|
||||
|
||||
var bar = new ProgressBar(':bar', { total: 10 });
|
||||
var timer = setInterval(function () {
|
||||
bar.tick();
|
||||
if (bar.complete) {
|
||||
console.log('\ncomplete\n');
|
||||
clearInterval(timer);
|
||||
}
|
||||
}, 100);
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
These are keys in the options object you can pass to the progress bar along with
|
||||
`total` as seen in the example above.
|
||||
|
||||
- `curr` current completed index
|
||||
- `total` total number of ticks to complete
|
||||
- `width` the displayed width of the progress bar defaulting to total
|
||||
- `stream` the output stream defaulting to stderr
|
||||
- `head` head character defaulting to complete character
|
||||
- `complete` completion character defaulting to "="
|
||||
- `incomplete` incomplete character defaulting to "-"
|
||||
- `renderThrottle` minimum time between updates in milliseconds defaulting to 16
|
||||
- `clear` option to clear the bar on completion defaulting to false
|
||||
- `callback` optional function to call when the progress bar completes
|
||||
|
||||
### Tokens
|
||||
|
||||
These are tokens you can use in the format of your progress bar.
|
||||
|
||||
- `:bar` the progress bar itself
|
||||
- `:current` current tick number
|
||||
- `:total` total ticks
|
||||
- `:elapsed` time elapsed in seconds
|
||||
- `:percent` completion percentage
|
||||
- `:eta` estimated completion time in seconds
|
||||
- `:rate` rate of ticks per second
|
||||
|
||||
### Custom Tokens
|
||||
|
||||
You can define custom tokens by adding a `{'name': value}` object parameter to your method (`tick()`, `update()`, etc.) calls.
|
||||
|
||||
```javascript
|
||||
var bar = new ProgressBar(':current: :token1 :token2', { total: 3 })
|
||||
bar.tick({
|
||||
'token1': "Hello",
|
||||
'token2': "World!\n"
|
||||
})
|
||||
bar.tick(2, {
|
||||
'token1': "Goodbye",
|
||||
'token2': "World!"
|
||||
})
|
||||
```
|
||||
The above example would result in the output below.
|
||||
|
||||
```
|
||||
1: Hello World!
|
||||
3: Goodbye World!
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Download
|
||||
|
||||
In our download example each tick has a variable influence, so we pass the chunk
|
||||
length which adjusts the progress bar appropriately relative to the total
|
||||
length.
|
||||
|
||||
```javascript
|
||||
var ProgressBar = require('progress');
|
||||
var https = require('https');
|
||||
|
||||
var req = https.request({
|
||||
host: 'download.github.com',
|
||||
port: 443,
|
||||
path: '/visionmedia-node-jscoverage-0d4608a.zip'
|
||||
});
|
||||
|
||||
req.on('response', function(res){
|
||||
var len = parseInt(res.headers['content-length'], 10);
|
||||
|
||||
console.log();
|
||||
var bar = new ProgressBar(' downloading [:bar] :rate/bps :percent :etas', {
|
||||
complete: '=',
|
||||
incomplete: ' ',
|
||||
width: 20,
|
||||
total: len
|
||||
});
|
||||
|
||||
res.on('data', function (chunk) {
|
||||
bar.tick(chunk.length);
|
||||
});
|
||||
|
||||
res.on('end', function () {
|
||||
console.log('\n');
|
||||
});
|
||||
});
|
||||
|
||||
req.end();
|
||||
```
|
||||
|
||||
The above example result in a progress bar like the one below.
|
||||
|
||||
```
|
||||
downloading [===== ] 39/bps 29% 3.7s
|
||||
```
|
||||
|
||||
### Interrupt
|
||||
|
||||
To display a message during progress bar execution, use `interrupt()`
|
||||
```javascript
|
||||
var ProgressBar = require('progress');
|
||||
|
||||
var bar = new ProgressBar(':bar :current/:total', { total: 10 });
|
||||
var timer = setInterval(function () {
|
||||
bar.tick();
|
||||
if (bar.complete) {
|
||||
clearInterval(timer);
|
||||
} else if (bar.curr === 5) {
|
||||
bar.interrupt('this message appears above the progress bar\ncurrent progress is ' + bar.curr + '/' + bar.total);
|
||||
}
|
||||
}, 1000);
|
||||
```
|
||||
|
||||
You can see more examples in the `examples` folder.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user