Skip to content

Commit

Permalink
[#285] Improve debounce() readability
Browse files Browse the repository at this point in the history
  • Loading branch information
darkwebdev committed Nov 16, 2023
1 parent 1fb66cb commit 5f598b5
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions src/common/debounce.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
export const debounce =
<F extends (...args: Parameters<F>) => ReturnType<F>>(fn: F, ms: number): (...args: Parameters<F>) => void => {
let timer: ReturnType<typeof setTimeout>
export function debounce<F extends(...args: Parameters<F>) => ReturnType<F>>(
fn: F,
ms: number
): (...args: Parameters<F>) => void {
let timer: ReturnType<typeof setTimeout>

return (...args: Parameters<F>) => {
clearTimeout(timer)
timer = setTimeout(() => fn(...args), ms)
}
}
return (...args) => {
clearTimeout(timer)
timer = setTimeout(() => fn(...args), ms)
}
}

0 comments on commit 5f598b5

Please sign in to comment.