All files / repo/src/hooks useDebouncedRedraw.ts

100% Statements 12/12
100% Branches 4/4
100% Functions 2/2
100% Lines 12/12

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 151x 3x   3x 4x 4x 3x 4x 4x   3x 3x 3x 3x  
export function useDebouncedRedraw(layoutAndRedraw: () => void, delay = 100) {
  let timeout: ReturnType<typeof setTimeout> | null = null;
 
  function debouncedRedraw() {
    if (timeout) clearTimeout(timeout);
    timeout = setTimeout(() => {
      layoutAndRedraw();
    }, delay);
  }
 
  return {
    debouncedRedraw,
  };
}