{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/hooks/useDidUpdateEffect/index.ts"],"sourcesContent":["import {\n  useEffect,\n  useRef,\n  type DependencyList,\n  type EffectCallback,\n} from 'react';\n\n/**\n * @description 최초 마운트 시에는 실행되지 않고, 의존성 배열(`deps`)의 값이 업데이트되었을 때만 effect를 실행시키는 커스텀 훅입니다.\n *\n * @param {EffectCallback} effectCallback - 실행할 함수입니다.\n * @param {DependencyList} deps - effect를 다시 실행 할 의존성 배열입니다.\n *\n * @returns {void} void\n *\n * @example\n * useDidUpdateEffect(() => {\n *  console.log('deps가 변경되었습니다.');\n * }, deps);\n */\nexport function useDidUpdateEffect(\n  effectCallback: EffectCallback,\n  deps: DependencyList\n): void {\n  const isFirstRender = useRef(true);\n\n  useEffect(() => {\n    if (isFirstRender.current) {\n      isFirstRender.current = false;\n      return;\n    }\n\n    return effectCallback();\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, deps);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,SAAgB,mBACd,gBACA,MACM;CACN,MAAM,gBAAgB,OAAO,KAAK;CAElC,gBAAgB;EACd,IAAI,cAAc,SAAS;GACzB,cAAc,UAAU;GACxB;;EAGF,OAAO,gBAAgB;IAEtB,KAAK"}