()
| 22 | } |
| 23 | } |
| 24 | function updateInterval(): void { |
| 25 | const anyKeepAlive = [...subscribers.values()].some(Boolean); |
| 26 | if (anyKeepAlive) { |
| 27 | if (interval) { |
| 28 | clearInterval(interval); |
| 29 | interval = null; |
| 30 | } |
| 31 | if (startTime === 0) { |
| 32 | startTime = Date.now(); |
| 33 | } |
| 34 | interval = setInterval(tick, currentTickIntervalMs); |
| 35 | } else if (interval) { |
| 36 | clearInterval(interval); |
| 37 | interval = null; |
| 38 | } |
| 39 | } |
| 40 | return { |
| 41 | subscribe(onChange, keepAlive) { |
| 42 | subscribers.set(onChange, keepAlive); |
no test coverage detected