recipes/modules/app/clock/Tick.ts
One file of recipes/modules, at commit 9a5bb24.
// A module that holds a resource, so unloading it has something to let go of.
export default () => {
let ticks = 0;
const timer = setInterval(() => { ticks++; }, 1);
const clock = {
ticks: (): number => ticks,
stopped: false,
stop: (): void => { clearInterval(timer); clock.stopped = true; },
};
return clock;
};