diff --git a/timers.go b/timers.go index f1525b97c0..231d34f14d 100644 --- a/timers.go +++ b/timers.go @@ -31,6 +31,10 @@ func InitTimers() { Duration: msg.TimerStartDuration, Cleared: false, } + // If this parameter is less than 10, a value of 10 is used + if t.Duration < 10 { + t.Duration = 10 + } t.StartTimer() timers[id] = t return nil diff --git a/timers.ts b/timers.ts index a5caf94d85..42e5a6cb6e 100644 --- a/timers.ts +++ b/timers.ts @@ -39,15 +39,16 @@ function onMessage(payload: Uint8Array) { } } -export function setTimeout( +function setTimer( cb: TimerCallback, duration: number, + interval: boolean, // tslint:disable-next-line:no-any - ...args: any[] + args: any[] ): number { const timer = { id: nextTimerId++, - interval: false, + interval, duration, args, cb @@ -56,34 +57,28 @@ export function setTimeout( dispatch.sendMsg("timers", { command: pb.Msg.Command.TIMER_START, timerStartId: timer.id, - timerStartInterval: false, + timerStartInterval: interval, timerStartDuration: duration }); return timer.id; } -// TODO DRY with setTimeout +export function setTimeout( + cb: TimerCallback, + duration: number, + // tslint:disable-next-line:no-any + ...args: any[] +): number { + return setTimer(cb, duration, false, args); +} + export function setInterval( cb: TimerCallback, repeat: number, // tslint:disable-next-line:no-any ...args: any[] ): number { - const timer = { - id: nextTimerId++, - interval: true, - duration: repeat, - args, - cb - }; - timers.set(timer.id, timer); - dispatch.sendMsg("timers", { - command: pb.Msg.Command.TIMER_START, - timerStartId: timer.id, - timerStartInterval: true, - timerStartDuration: repeat - }); - return timer.id; + return setTimer(cb, duration, true, args); } export function clearTimer(id: number) { @@ -92,3 +87,5 @@ export function clearTimer(id: number) { timerClearId: id }); } + +