UNPKG

@boomerang-io/utils

Version:

A library of reusable utilities and hooks for React webapps on the Boomerang platform.

52 lines (48 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = formatErrorMessage; var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } 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 ((0, _isPlainObject.default)(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 }; }