fleet/frontend/utilities/debounce/index.ts
Martavis Parker 384c987389
Removed all traces of Redux from the app! (#5287)
* clean up routes and useless components

* component clean up

* removed redux from routes

* rename file

* moved useDeepEffect hook with others

* removed redux, fleet, app_constants dirs; added types to utilities

* style cleanup

* typo fix

* removed unused ts-ignore comments

* removed redux packages!!!

* formatting

* fixed typing for simple search function

* updated frontend readme
2022-04-22 09:45:35 -07:00

25 lines
474 B
TypeScript

import { debounce } from "lodash";
interface IOptions {
leading: boolean;
trailing: boolean;
timeout: number;
}
const DEFAULT_TIMEOUT = 1000; // 1 function execution per second by default
export default (
func: (...args: any[]) => any,
options: IOptions = {
leading: true,
trailing: false,
timeout: DEFAULT_TIMEOUT,
}
) => {
const { leading, trailing, timeout } = options;
return debounce(func, timeout, {
leading,
trailing,
});
};