diff --git a/src/public/app/services/spaced_update.js b/src/public/app/services/spaced_update.ts similarity index 81% rename from src/public/app/services/spaced_update.js rename to src/public/app/services/spaced_update.ts index bfac5f056..4ac0fdd23 100644 --- a/src/public/app/services/spaced_update.js +++ b/src/public/app/services/spaced_update.ts @@ -1,5 +1,13 @@ +type Callback = () => Promise; + export default class SpacedUpdate { - constructor(updater, updateInterval = 1000) { + private updater: Callback; + private lastUpdated: number; + private changed: boolean; + private updateInterval: number; + private changeForbidden?: boolean; + + constructor(updater: Callback, updateInterval = 1000) { this.updater = updater; this.lastUpdated = Date.now(); this.changed = false; @@ -52,7 +60,7 @@ export default class SpacedUpdate { } } - async allowUpdateWithoutChange(callback) { + async allowUpdateWithoutChange(callback: Callback) { this.changeForbidden = true; try {