@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
20 lines • 592 B
JavaScript
export function debounce(func, waitMilliseconds, immediate = false) {
let timeoutId;
return (...args) => {
const doLater = () => {
timeoutId = undefined;
if (!immediate) {
func(...args);
}
};
const shouldCallNow = immediate && timeoutId === undefined;
if (timeoutId !== undefined) {
clearTimeout(timeoutId);
}
timeoutId = setTimeout(doLater, waitMilliseconds);
if (shouldCallNow) {
func(...args);
}
};
}
//# sourceMappingURL=debounce.js.map