in ArticleTemplates/assets/js/modules/util.js [74:102]
function debounce(func, wait, immediate) {
let args;
let callNow;
let context;
let later;
let timeout;
return function() {
context = this;
args = arguments;
later = () => {
timeout = null;
if (!immediate) {
func.apply(context, args);
}
}
callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
}