diff --git a/src/helpers.ts b/src/helpers.ts index f5b35be..4555b16 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -1,3 +1,17 @@ +const debounce = (fn: Function, delay: number = 300): any => { + let timer = 0; + const debounced = (...args: Array): void => { + if (!args) args = []; + clearTimeout(timer); + + timer = setTimeout(() => { + fn.apply(fn, args); + }, delay); + }; + + return debounced; +}; + const getClientLocale = (): string => { return navigator.languages.length > 0 ? navigator.languages[0] : "en-US"; }; @@ -51,6 +65,7 @@ const dateFormat = new Intl.DateTimeFormat(getClientLocale(), { }); export { + debounce, getClientLocale, getAge, toImperial,