UNPKG

@shopgate/engage

Version:
11 lines 862 B
// Corresponds to 10 frames at 60 Hz. // A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. /** * Corresponds to 10 frames at 60 Hz. * A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. * @param {Function} func function * @param {number} wait wait time * @returns {Function} */export default function debounce(func){var wait=arguments.length>1&&arguments[1]!==undefined?arguments[1]:166;var timeout;// eslint-disable-next-line require-jsdoc function debounced(){var _this=this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}// eslint-disable-next-line require-jsdoc var later=function later(){func.apply(_this,args);};clearTimeout(timeout);timeout=setTimeout(later,wait);}debounced.clear=function(){clearTimeout(timeout);};return debounced;}