| 123456789101112131415161718192021222324252627282930 |
- /**
- * @link https://davidwalsh.name/javascript-debounce-function
- * @param func needs to implement a function which is debounced
- * @param wait how long do you want to wait till the previous declared function is executed
- * @param isImmediate defines if you want to execute the function on the first execution or the last execution inside the time window. `true` for first and `false` for last.
- */
- var debounce = ((func, wait, isImmediate) => {
- let timeout;
- return function debounce(...args) {
- const context = this;
- const later = () => {
- timeout = undefined;
- if (!isImmediate) {
- func.apply(context, args);
- }
- };
- const shouldCallNow = isImmediate && !timeout;
- if (timeout !== undefined) {
- clearTimeout(timeout);
- }
- timeout = setTimeout(later, wait);
- if (shouldCallNow) {
- return func.apply(context, args);
- }
- return undefined;
- };
- });
- export { debounce as default };
- //# sourceMappingURL=debounce.esm.js.map
|