From eddd361622ca4788f40551802c91fe3e9655b56c Mon Sep 17 00:00:00 2001 From: ImxYJL <111052302+ImxYJL@users.noreply.github.com> Date: Wed, 31 Jul 2024 14:31:29 +0900 Subject: [PATCH] =?UTF-8?q?[FE]=20=EC=A1=B4=EC=9E=AC=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20element=EC=97=90=20=EB=8C=80=ED=95=9C=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=EB=A5=BC=20=EC=B6=9C=EB=A0=A5=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EC=9C=A0=ED=8B=B8=EB=A6=AC=ED=8B=B0=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=20=EC=A0=9C=EC=9E=91=20(#150)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 존재하지 않는 element에 대한 에러를 출력하는 훅 제작 * chore: hooks 폴더 index에 useExistentElement 추가 * refactor: useExistentElement 훅을 더욱 범용적으로 사용할 수 있도록 수정 * refactor: 존재하지 않는 요소를 판별하는 동작을 커스텀 훅 대신 유틸리티 함수로 제작 * chore: 기존의 존재하지 않는 요소를 탐지하는 커스텀 훅 삭제 --- frontend/src/utils/index.ts | 1 + frontend/src/utils/isExistentElement.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 frontend/src/utils/isExistentElement.ts diff --git a/frontend/src/utils/index.ts b/frontend/src/utils/index.ts index 05b562fe2..58563d777 100644 --- a/frontend/src/utils/index.ts +++ b/frontend/src/utils/index.ts @@ -1 +1,2 @@ export * from './date'; +export * from './isExistentElement'; diff --git a/frontend/src/utils/isExistentElement.ts b/frontend/src/utils/isExistentElement.ts new file mode 100644 index 000000000..971a10052 --- /dev/null +++ b/frontend/src/utils/isExistentElement.ts @@ -0,0 +1,18 @@ +type NullableElement = Element | HTMLElement | null | undefined; + +export const isExistentElement = (element: NullableElement, elementName: string): boolean => { + const isExistentElement = element !== null && element !== undefined; + const isHTMLElementOrElement = element instanceof HTMLElement || element instanceof Element; + + if (!isExistentElement) { + console.error(`${elementName}을/를 찾을 수 없습니다.`); + return false; + } + + if (!isHTMLElementOrElement) { + console.error(`${elementName}은/는 Element 이하의 타입이 아닙니다.`); + return false; + } + + return true; +};