@pilotlab/lux-debug
Version:
A luxurious user experience framework, developed by your friends at Pilot.
40 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var lux_signals_1 = require("@pilotlab/lux-signals");
var LogSpinner = (function () {
function LogSpinner() {
this._characters = [];
this._isRunning = false;
this.ticked = new lux_signals_1.Signal(false);
this.stopped = new lux_signals_1.Signal(false);
this._characters = '▉▊▋▌▍▎▏▎▍▌▋▊▉'.split('');
}
Object.defineProperty(LogSpinner.prototype, "isRunning", {
get: function () { return this._isRunning; },
enumerable: true,
configurable: true
});
LogSpinner.prototype.start = function () {
var _this = this;
if (this._isRunning)
return;
var current = 0;
this._intervalReference = setInterval(function () {
var spinnerText = _this._characters[current];
_this.ticked.dispatch(spinnerText);
current = ++current % _this._characters.length;
}, 100);
this._isRunning = true;
};
;
LogSpinner.prototype.stop = function () {
clearInterval(this._intervalReference);
this._intervalReference = null;
this._isRunning = false;
this.stopped.dispatch(' ');
};
return LogSpinner;
}());
exports.LogSpinner = LogSpinner;
exports.default = LogSpinner;
//# sourceMappingURL=logSpinner.js.map