Tweak private / underscores for fields and methods

This commit is contained in:
J. Ryan Stinnett 2021-04-26 14:02:53 +01:00
parent f34489e2df
commit b8a915bb76
17 changed files with 324 additions and 325 deletions

View file

@ -26,51 +26,51 @@ Once a timer is finished or aborted, it can't be started again
a new one through `clone()` or `cloneIfRun()`.
*/
export default class Timer {
private _timeout: number;
private _timerHandle: NodeJS.Timeout;
private _startTs: number;
private _promise: Promise<void>;
private _resolve: () => void;
private _reject: (Error) => void;
private timeout: number;
private timerHandle: NodeJS.Timeout;
private startTs: number;
private promise: Promise<void>;
private resolve: () => void;
private reject: (Error) => void;
constructor(timeout) {
this._timeout = timeout;
this._onTimeout = this._onTimeout.bind(this);
this._setNotStarted();
this.timeout = timeout;
this.onTimeout = this.onTimeout.bind(this);
this.setNotStarted();
}
_setNotStarted() {
this._timerHandle = null;
this._startTs = null;
this._promise = new Promise<void>((resolve, reject) => {
this._resolve = resolve;
this._reject = reject;
private setNotStarted() {
this.timerHandle = null;
this.startTs = null;
this.promise = new Promise<void>((resolve, reject) => {
this.resolve = resolve;
this.reject = reject;
}).finally(() => {
this._timerHandle = null;
this.timerHandle = null;
});
}
_onTimeout() {
private onTimeout() {
const now = Date.now();
const elapsed = now - this._startTs;
if (elapsed >= this._timeout) {
this._resolve();
this._setNotStarted();
const elapsed = now - this.startTs;
if (elapsed >= this.timeout) {
this.resolve();
this.setNotStarted();
} else {
const delta = this._timeout - elapsed;
this._timerHandle = setTimeout(this._onTimeout, delta);
const delta = this.timeout - elapsed;
this.timerHandle = setTimeout(this.onTimeout, delta);
}
}
changeTimeout(timeout) {
if (timeout === this._timeout) {
if (timeout === this.timeout) {
return;
}
const isSmallerTimeout = timeout < this._timeout;
this._timeout = timeout;
const isSmallerTimeout = timeout < this.timeout;
this.timeout = timeout;
if (this.isRunning() && isSmallerTimeout) {
clearTimeout(this._timerHandle);
this._onTimeout();
clearTimeout(this.timerHandle);
this.onTimeout();
}
}
@ -80,8 +80,8 @@ export default class Timer {
*/
start() {
if (!this.isRunning()) {
this._startTs = Date.now();
this._timerHandle = setTimeout(this._onTimeout, this._timeout);
this.startTs = Date.now();
this.timerHandle = setTimeout(this.onTimeout, this.timeout);
}
return this;
}
@ -96,7 +96,7 @@ export default class Timer {
// can be called in fast succession,
// instead just take note and compare
// when the already running timeout expires
this._startTs = Date.now();
this.startTs = Date.now();
return this;
} else {
return this.start();
@ -110,9 +110,9 @@ export default class Timer {
*/
abort() {
if (this.isRunning()) {
clearTimeout(this._timerHandle);
this._reject(new Error("Timer was aborted."));
this._setNotStarted();
clearTimeout(this.timerHandle);
this.reject(new Error("Timer was aborted."));
this.setNotStarted();
}
return this;
}
@ -123,10 +123,10 @@ export default class Timer {
*@return {Promise}
*/
finished() {
return this._promise;
return this.promise;
}
isRunning() {
return this._timerHandle !== null;
return this.timerHandle !== null;
}
}