Files
Gemini-Search/node_modules/react-resizable-panels/src/utils/debounce.ts
Ammaar Reshi d6025af146 Initial commit
2025-01-04 14:06:53 +00:00

19 lines
375 B
TypeScript

export default function debounce<T extends Function>(
callback: T,
durationMs: number = 10
) {
let timeoutId: NodeJS.Timeout | null = null;
let callable = (...args: any) => {
if (timeoutId !== null) {
clearTimeout(timeoutId);
}
timeoutId = setTimeout(() => {
callback(...args);
}, durationMs);
};
return callable as unknown as T;
}