{"version":3,"sources":["../../src/useInterval/useInterval.ts"],"names":["useEffect","useRef","useEnhancedEffect","useInterval","callback","delay","savedCallback","id","useInterval_default"],"mappings":"8BAAA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QAClC,OAAOC,MAAuB,uBAG9B,MAAMC,EAA2B,CAACC,EAAUC,EAAQ,IAAM,CACxD,MAAMC,EAAgBL,EAAOG,CAAQ,EAErCF,EAAkB,IAAM,CACtBI,EAAc,QAAUF,CAC1B,EAAG,CAACA,CAAQ,CAAC,EAEbJ,EAAU,IAAM,CACd,GAAI,CAACK,GAASA,IAAU,EACtB,OAGF,MAAME,EAAK,YAAY,IAAMD,EAAc,QAAQ,EAAGD,CAAK,EAE3D,MAAO,IAAM,cAAcE,CAAE,CAC/B,EAAG,CAACF,CAAK,CAAC,CACZ,EAEA,IAAOG,EAAQL","sourcesContent":["import { useEffect, useRef } from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\nimport type { UseInterval } from './types';\n\nconst useInterval: UseInterval = (callback, delay = 0) => {\n  const savedCallback = useRef(callback);\n\n  useEnhancedEffect(() => {\n    savedCallback.current = callback;\n  }, [callback]);\n\n  useEffect(() => {\n    if (!delay && delay !== 0) {\n      return;\n    }\n\n    const id = setInterval(() => savedCallback.current(), delay);\n\n    return () => clearInterval(id);\n  }, [delay]);\n};\n\nexport default useInterval;\n"]}