All files / src metronome.worker.ts

0% Statements 0/13
0% Branches 0/8
0% Functions 0/3
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                                 
let timerID: number;
// milliseconds
let interval = 10;

self.onmessage = function (e) {
  if (e.data === "start") {
    timerID = setInterval(() => {
      postMessage("tick");
    }, interval) as any as number;
  }
  else if (e.data.interval) {
    interval = e.data.interval;
    if (timerID) {
      clearInterval(timerID);
      timerID = setInterval(() => {
        postMessage("tick");
      }, interval) as any as number;
    }
  }
  else if (e.data === "stop") {
    clearInterval(timerID);
  }
};