/** * 에러 메시지를 안전하게 문자열로 변환하는 유틸리티 */ /** * API 에러 객체를 안전한 문자열로 변환 * @param error - API 응답 에러 (string | object | undefined) * @param defaultMessage - 기본 에러 메시지 * @returns 표시 가능한 에러 메시지 문자열 */ export function formatErrorMessage(error: any, defaultMessage: string = "오류가 발생했습니다."): string { // undefined/null 체크 if (!error) { return defaultMessage; } // 이미 문자열인 경우 if (typeof error === "string") { return error; } // 객체인 경우 if (typeof error === "object") { // { code, details } 형태 if (error.details) { return typeof error.details === "string" ? error.details : defaultMessage; } // { message } 형태 if (error.message) { return typeof error.message === "string" ? error.message : defaultMessage; } // 기타 객체는 기본 메시지 반환 return defaultMessage; } // 그 외의 경우 return defaultMessage; }