remove debounce function in favour of lodash

This commit is contained in:
SethBurkart123
2024-04-01 21:28:04 +11:00
parent 48a6b186dd
commit bc71818018
2 changed files with 1 additions and 26 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
import { debounce } from "../utils/debounce";
import { debounce } from "lodash";
/**
* Automatically resizes the popup to fit the screen, checks on resize but is debounced to prevent intense utilisation.
-25
View File
@@ -1,25 +0,0 @@
/**
* Creates a debounced function that delays invoking the provided function until after `wait` milliseconds have elapsed
* since the last time it was invoked. The debounced function will only be invoked once during the `wait` period.
*
* @param func - The function to debounce.
* @param wait - The number of milliseconds to delay.
* @param immediate - If `true`, the function will be invoked immediately on the leading edge instead of the trailing edge.
* If not provided, it is disabled by default.
* @returns A debounced function.
*/
export function debounce(func: Function, wait: number, immediate?: boolean): Function {
let timeout: number | undefined;
return function(this: any) {
const context = this;
const args = arguments;
const later = function() {
timeout = undefined;
if (!immediate) func.apply(context, args);
};
const callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}