26 lines
534 B
TypeScript
26 lines
534 B
TypeScript
interface APIErrorLike {
|
|
message?: string
|
|
response?: {
|
|
data?: {
|
|
detail?: string
|
|
message?: string
|
|
}
|
|
}
|
|
}
|
|
|
|
function extractErrorMessage(error: unknown): string {
|
|
const err = (error || {}) as APIErrorLike
|
|
return err.response?.data?.detail || err.response?.data?.message || err.message || ''
|
|
}
|
|
|
|
export function buildAuthErrorMessage(
|
|
error: unknown,
|
|
options: {
|
|
fallback: string
|
|
}
|
|
): string {
|
|
const { fallback } = options
|
|
const message = extractErrorMessage(error)
|
|
return message || fallback
|
|
}
|