@boomerang-io/utils
Version:
A library of reusable utilities and hooks for React webapps on the Boomerang platform.
45 lines (42 loc) • 1.12 kB
JavaScript
import isPlainObject from "lodash/isPlainObject";
export default function formatErrorMessage(_ref) {
var _error$response;
let {
error,
defaultTitle = "Request Failed",
defaultMessage = "Please try again"
} = _ref;
let title = defaultTitle;
let message = defaultMessage;
const data = error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data;
// No data, bail early and return default messages
if (!data) {
return {
title,
message
};
}
// if returning an object for the title
if (isPlainObject(data.error)) {
const errorObj = data.error;
if (errorObj.message) {
title = errorObj.message;
}
} else {
const errorTitle = data.error || data.title;
if (errorTitle) {
title = errorTitle;
}
// set message if its there
const errorMessage = data.detail || data.message;
if (errorMessage) {
message = errorMessage;
}
}
title = "".concat(title, ".");
message = "".concat(message, ".");
return {
title,
message
};
}