Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
23 lines
548 B
JavaScript
23 lines
548 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = debounce;
|
|
// Corresponds to 10 frames at 60 Hz.
|
|
// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.
|
|
function debounce(func, wait = 166) {
|
|
let timeout;
|
|
function debounced(...args) {
|
|
const later = () => {
|
|
// @ts-ignore
|
|
func.apply(this, args);
|
|
};
|
|
clearTimeout(timeout);
|
|
timeout = setTimeout(later, wait);
|
|
}
|
|
debounced.clear = () => {
|
|
clearTimeout(timeout);
|
|
};
|
|
return debounced;
|
|
} |