DesertWolf's picture
Upload folder using huggingface_hub
447ebeb verified
/**
* Extracts a user-friendly error message from various error formats
* @param {any} error - The error object or message
* @returns {string} - A clean error message
*/
export const parseErrorMessage = (error: any): string => {
if (!error) return "An unknown error occurred";
// If error is already a string, return it
if (typeof error === 'string') return error;
// If error has a message property, check if it's a JSON string
if (error.message) {
try {
// Try to parse the error message as JSON
const parsedError = JSON.parse(error.message);
// Handle common nested error structures
if (parsedError.error && parsedError.error.message) {
return parsedError.error.message;
}
// If parsed successfully but no nested message found, stringify it nicely
return typeof parsedError === 'string' ? parsedError : JSON.stringify(parsedError, null, 2);
} catch (e) {
// If parsing fails, just return the original message
return error.message;
}
}
// If error has a response with data
if (error.response && error.response.data) {
if (typeof error.response.data === 'string') return error.response.data;
if (error.response.data.message) return error.response.data.message;
if (error.response.data.error) {
return typeof error.response.data.error === 'string'
? error.response.data.error
: error.response.data.error.message || JSON.stringify(error.response.data.error);
}
}
// Fallback to stringifying the error
return String(error);
};