2023-02-01 04:50:34 -06:00
|
|
|
import { isFetchError } from '@grafana/runtime';
|
2019-02-06 12:42:04 -06:00
|
|
|
|
2023-02-01 04:50:34 -06:00
|
|
|
export function getMessageFromError(err: unknown): string {
|
2023-03-02 06:09:58 -06:00
|
|
|
if (typeof err === 'string') {
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
|
2023-02-01 04:50:34 -06:00
|
|
|
if (err) {
|
2023-03-02 06:09:58 -06:00
|
|
|
if (err instanceof Error) {
|
2019-02-06 12:42:04 -06:00
|
|
|
return err.message;
|
2023-02-01 04:50:34 -06:00
|
|
|
} else if (isFetchError(err)) {
|
|
|
|
if (err.data && err.data.message) {
|
|
|
|
return err.data.message;
|
|
|
|
} else if (err.statusText) {
|
|
|
|
return err.statusText;
|
|
|
|
}
|
2019-02-06 12:42:04 -06:00
|
|
|
}
|
|
|
|
}
|
2023-03-02 06:09:58 -06:00
|
|
|
|
2023-02-01 04:50:34 -06:00
|
|
|
return JSON.stringify(err);
|
2019-02-06 12:42:04 -06:00
|
|
|
}
|