UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

1 lines 1.02 kB
{"version":3,"file":"index.cjs","names":["useCallbackRef","timeoutId: NodeJS.Timeout | null"],"sources":["../../../../src/hooks/use-interval/index.ts"],"sourcesContent":["\"use client\"\n\nimport { useEffect } from \"react\"\nimport { useCallbackRef } from \"../../utils\"\n\n/**\n * `useInterval` is a custom hook that runs a function at a specified interval.\n *\n * @see https://yamada-ui.com/docs/hooks/use-interval\n */\nexport const useInterval = (callback: () => void, delay: null | number) => {\n const callbackRef = useCallbackRef(callback)\n\n useEffect(() => {\n let timeoutId: NodeJS.Timeout | null = null\n\n if (delay !== null) timeoutId = setInterval(callbackRef, delay)\n\n return () => {\n if (timeoutId) clearInterval(timeoutId)\n }\n }, [delay, callbackRef])\n}\n"],"mappings":";;;;;;;;;;;;;;AAUA,MAAa,eAAe,UAAsB,UAAyB;CACzE,MAAM,cAAcA,2BAAe,SAAS;AAE5C,4BAAgB;EACd,IAAIC,YAAmC;AAEvC,MAAI,UAAU,KAAM,aAAY,YAAY,aAAa,MAAM;AAE/D,eAAa;AACX,OAAI,UAAW,eAAc,UAAU;;IAExC,CAAC,OAAO,YAAY,CAAC"}