-
Notifications
You must be signed in to change notification settings - Fork 0
/
demo.js
43 lines (35 loc) · 897 Bytes
/
demo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
var Gauge = require('./')
var gaugeDefault = require('./themes.js')
var onExit = require('signal-exit')
var activeGauge
onExit(function () {
activeGauge.disable()
})
var themes = gaugeDefault.getThemeNames()
nextBar()
function nextBar () {
var themeName = themes.shift()
console.log('Demoing output for ' + themeName)
var gt = new Gauge(process.stderr, {
updateInterval: 50,
theme: themeName,
cleanupOnExit: false
})
activeGauge = gt
var progress = 0
var cnt = 0
var pulse = setInterval(function () {
gt.pulse('this is a thing that happened ' + (++cnt))
}, 110)
var prog = setInterval(function () {
progress += 0.04
gt.show(themeName + ':' + Math.round(progress * 1000), progress)
if (progress >= 1) {
clearInterval(prog)
clearInterval(pulse)
gt.disable()
if (themes.length) nextBar()
}
}, 100)
gt.show()
}