frontend/.pnpm-store/v3/files/2d/cc3d2203684ca3cfdb83f6173ec28ebbdbd1a4a610cde834b61f79c39e6486412d4cec6f8cf61b975ada3672b4f9220865b8b59decfea304f41dc5e3c069ca

22 lines
434 B
Plaintext

export default function debounce(func, wait, immediate) {
let timeout;
return function executedFunction() {
let context = this;
let args = arguments;
let later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
let callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
};