Telegram Web, preconfigured for usage in I2P.
http://web.telegram.i2p/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1023 B
57 lines
1023 B
var BaseReporter = require('./Base'); |
|
|
|
|
|
var ProgressReporter = function(formatError, reportSlow) { |
|
BaseReporter.call(this, formatError, reportSlow); |
|
|
|
|
|
this.writeCommonMsg = function(msg) { |
|
this.write(this._remove() + msg + this._render()); |
|
}; |
|
|
|
|
|
this.specSuccess = function() { |
|
this.write(this._refresh()); |
|
}; |
|
|
|
|
|
this.onBrowserComplete = function() { |
|
this.write(this._refresh()); |
|
}; |
|
|
|
|
|
this.onRunStart = function(browsers) { |
|
this._browsers = browsers; |
|
this._isRendered = false; |
|
}; |
|
|
|
|
|
this._remove = function() { |
|
if (!this._isRendered) { |
|
return ''; |
|
} |
|
|
|
var cmd = ''; |
|
this._browsers.forEach(function() { |
|
cmd += '\x1B[1A' + '\x1B[2K'; |
|
}); |
|
|
|
this._isRendered = false; |
|
|
|
return cmd; |
|
}; |
|
|
|
this._render = function() { |
|
this._isRendered = true; |
|
|
|
return this._browsers.map(this.renderBrowser).join('\n') + '\n'; |
|
}; |
|
|
|
this._refresh = function() { |
|
return this._remove() + this._render(); |
|
}; |
|
}; |
|
|
|
|
|
// PUBLISH |
|
module.exports = ProgressReporter;
|
|
|