diff --git a/index.d.ts b/index.d.ts index b35bba4..4139d37 100644 --- a/index.d.ts +++ b/index.d.ts @@ -179,6 +179,13 @@ export interface Ora { */ indent: number; + /** + The interval between each frame. + + The interval is decided by the chosen spinner. + */ + readonly interval: number; + /** Start the spinner. diff --git a/index.js b/index.js index cd99162..df3a8ce 100644 --- a/index.js +++ b/index.js @@ -119,7 +119,7 @@ class Ora { this.color = this.options.color; this.hideCursor = this.options.hideCursor !== false; - this.interval = this.options.interval || this.spinner.interval || 100; + this._interval = this.options.interval || this.spinner.interval || 100; this.stream = this.options.stream; this.id = undefined; this.isEnabled = typeof this.options.isEnabled === 'boolean' ? this.options.isEnabled : isInteractive({stream: this.stream}); @@ -149,10 +149,14 @@ class Ora { _updateInterval(interval) { if (interval !== undefined) { - this.interval = interval; + this._interval = interval; } } + get interval() { + return this._interval; + } + get spinner() { return this._spinner; } @@ -330,7 +334,7 @@ class Ora { } this.render(); - this.id = setInterval(this.render.bind(this), this.interval); + this.id = setInterval(this.render.bind(this), this._interval); return this; }