Spaces:
Sleeping
Sleeping
| import {Timer, now} from "./timer.js"; | |
| export default function(callback, delay, time) { | |
| var t = new Timer, total = delay; | |
| if (delay == null) return t.restart(callback, delay, time), t; | |
| t._restart = t.restart; | |
| t.restart = function(callback, delay, time) { | |
| delay = +delay, time = time == null ? now() : +time; | |
| t._restart(function tick(elapsed) { | |
| elapsed += total; | |
| t._restart(tick, total += delay, time); | |
| callback(elapsed); | |
| }, delay, time); | |
| } | |
| t.restart(callback, delay, time); | |
| return t; | |
| } | |