All files / src/lib debounce.js

0% Statements 0/7
100% Branches 0/0
0% Functions 0/3
0% Lines 0/6

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                                         
/**
 * @description Delays given function for a given given time
 * @param {Function} fn function to be called on timeout
 * @param {number} time time in ms to delay the function to be called
 * @return {function}
 
 }}
 **/
export function debounce(fn, time) {
  let timeout;
 
  const CheckBounce = function() {
    const self = this;
    const functionCall = (...arg) => fn.apply(self, arg);
 
    clearTimeout(timeout);
    timeout = setTimeout(functionCall, time);
  };
  return CheckBounce;
}