client-ts: Port services/app/services/spaced_update

This commit is contained in:
Elian Doran
2024-07-25 19:22:44 +03:00
parent 411234dd9c
commit 6c7a272edc

View File

@@ -1,5 +1,13 @@
type Callback = () => Promise<void>;
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 {