UNPKG

@pilotlab/lux-debug

Version:

A luxurious user experience framework, developed by your friends at Pilot.

40 lines 1.41 kB
"use strict"; 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