about summary refs log tree commit diff
path: root/src/lib/hooks/useDedupe.ts
blob: d9432cb2c2f54780fc2250b5185faa4d3222a5ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import React from 'react'

export const useDedupe = () => {
  const canDo = React.useRef(true)

  return React.useRef((cb: () => unknown) => {
    if (canDo.current) {
      canDo.current = false
      setTimeout(() => {
        canDo.current = true
      }, 250)
      cb()
      return true
    }
    return false
  }).current
}