/
githubmirror
/
ydb-embedded-ui
Обзор
Документация
Войти
/
githubmirror
/
ydb-embedded-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/utils/errors/index.ts
55 строк
2 KB
Anton Standrik
fix: monitoring error message looks really bad (#3850)
29 апр 2026, 17:46
Не верифицирован
29 апр 2026, 17:46
dac73d5
Код
Авторство
О чём код?
import {isQueryErrorResponse} from '../query'; import {isNetworkError, isResponseError} from '../response'; import {extractDataMessage, extractErrorDetails} from './extractErrorDetails'; import i18n from './i18n'; export {extractErrorDetails} from './extractErrorDetails'; export type {ErrorDetails} from './extractErrorDetails'; /** * Prepares a consistent error message from various error types * @param err - The error object to process * @param defaultMessage - Optional fallback message used when a specific error message cannot be determined * @returns A formatted error message string */ export function prepareCommonErrorMessage(err: unknown, defaultMessage?: string): string { if (typeof err === 'string') { return err; } if (!err) { return i18n('unknown-error'); } if (isNetworkError(err)) { return err.message; } if (isQueryErrorResponse(err)) { return err.error?.message || defaultMessage || i18n('unknown-error'); } if (isResponseError(err)) { const dataMessage = extractDataMessage(err.data) ?? extractErrorDetails(err)?.dataMessage; if (err.status === 403) { return dataMessage || i18n('access-forbidden'); } if (dataMessage) { return dataMessage; } if (err.statusText) { return err.statusText; } } if (err instanceof Error) { return err.message; } if (defaultMessage) { return defaultMessage; } return JSON.stringify(err); }