diff options
Diffstat (limited to 'src/utils/cli')
| -rw-r--r-- | src/utils/cli/indicator.ts | 35 | ||||
| -rw-r--r-- | src/utils/cli/progressbar.ts | 85 |
2 files changed, 0 insertions, 120 deletions
diff --git a/src/utils/cli/indicator.ts b/src/utils/cli/indicator.ts deleted file mode 100644 index 3e23f9b274..0000000000 --- a/src/utils/cli/indicator.ts +++ /dev/null @@ -1,35 +0,0 @@ -import * as readline from 'readline'; - -/** - * Indicator - */ -export default class { - private clock: NodeJS.Timer; - - constructor(text: string) { - let i = 0; // Dots counter - - draw(); - this.clock = setInterval(draw, 300); - - function draw(): void { - cll(); - i = (i + 1) % 4; - const dots = new Array(i + 1).join('.'); - process.stdout.write(text + dots); // Write text - } - } - - public end(): void { - clearInterval(this.clock); - cll(); - } -} - -/** - * Clear current line - */ -function cll(): void { - readline.clearLine(process.stdout, 0); // Clear current text - readline.cursorTo(process.stdout, 0, null); // Move cursor to the head of line -} diff --git a/src/utils/cli/progressbar.ts b/src/utils/cli/progressbar.ts deleted file mode 100644 index 72496fdedc..0000000000 --- a/src/utils/cli/progressbar.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { EventEmitter } from 'events'; -import * as readline from 'readline'; -import chalk from 'chalk'; - -/** - * Progress bar - */ -export default class extends EventEmitter { - public max: number; - public value: number; - public text: string; - private indicator: number; - - constructor(max: number, text: string = null) { - super(); - this.max = max; - this.value = 0; - this.text = text; - this.indicator = 0; - this.draw(); - - const iclock = setInterval(() => { - this.indicator = (this.indicator + 1) % 4; - this.draw(); - }, 200); - - this.on('complete', () => { - clearInterval(iclock); - }); - } - - public increment(): void { - this.value++; - this.draw(); - - // Check if it is fulfilled - if (this.value === this.max) { - this.indicator = null; - - cll(); - process.stdout.write(`${this.render()} -> ${chalk.bold('Complete')}\n`); - - this.emit('complete'); - } - } - - public draw(): void { - const str = this.render(); - cll(); - process.stdout.write(str); - } - - private render(): string { - const width = 30; - const t = this.text ? `${this.text} ` : ''; - - const v = Math.floor((this.value / this.max) * width); - const vs = new Array(v + 1).join('*'); - - const p = width - v; - const ps = new Array(p + 1).join(' '); - - const percentage = Math.floor((this.value / this.max) * 100); - const percentages = chalk.gray(`(${percentage} %)`); - - let i: string; - switch (this.indicator) { - case 0: i = '-'; break; - case 1: i = '\\'; break; - case 2: i = '|'; break; - case 3: i = '/'; break; - case null: i = '+'; break; - } - - return `${i} ${t}[${vs}${ps}] ${this.value} / ${this.max} ${percentages}`; - } -} - -/** - * Clear current line - */ -function cll(): void { - readline.clearLine(process.stdout, 0); // Clear current text - readline.cursorTo(process.stdout, 0, null); // Move cursor to the head of line -} |