1 line
1.1 KiB
Plaintext
1 line
1.1 KiB
Plaintext
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { useEffect } from \"react\"\nimport { useCallbackRef } from \"@chakra-ui/react-use-callback-ref\"\n\n/**\n * React Hook that provides a declarative `setInterval`\n *\n * @param callback the callback to execute at interval\n * @param delay the `setInterval` delay (in ms)\n */\nexport function useInterval(callback: () => void, delay: number | null) {\n const fn = useCallbackRef(callback)\n\n useEffect(() => {\n let intervalId: number | null = null\n const tick = () => fn()\n if (delay !== null) {\n intervalId = window.setInterval(tick, delay)\n }\n return () => {\n if (intervalId) {\n window.clearInterval(intervalId)\n }\n }\n }, [delay, fn])\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAQxB,SAAS,YAAY,UAAsB,OAAsB;AACtE,QAAM,KAAK,eAAe,QAAQ;AAElC,YAAU,MAAM;AACd,QAAI,aAA4B;AAChC,UAAM,OAAO,MAAM,GAAG;AACtB,QAAI,UAAU,MAAM;AAClB,mBAAa,OAAO,YAAY,MAAM,KAAK;AAAA,IAC7C;AACA,WAAO,MAAM;AACX,UAAI,YAAY;AACd,eAAO,cAAc,UAAU;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB;","names":[]} |