Files
stats/apps/web/src/hooks/useDebounceFn.ts
Carl-Gerhard Lindesvärd 39827226d8 web: histogram
2024-01-07 21:56:30 +01:00

17 lines
462 B
TypeScript

import { useEffect } from 'react';
import debounce from 'lodash.debounce';
export function useDebounceFn<T>(fn: T, ms = 500): T {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call
const debouncedFn = debounce(fn as any, ms);
useEffect(() => {
return () => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
debouncedFn.cancel();
};
});
return debouncedFn as T
}