UNPKG

@boomerang-io/utils

Version:

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

59 lines (45 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = formatErrorMessage; var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function formatErrorMessage(_ref) { var _error$response; var error = _ref.error, _ref$defaultTitle = _ref.defaultTitle, defaultTitle = _ref$defaultTitle === void 0 ? "Request Failed" : _ref$defaultTitle, _ref$defaultMessage = _ref.defaultMessage, defaultMessage = _ref$defaultMessage === void 0 ? "Please try again" : _ref$defaultMessage; var title = defaultTitle; var message = defaultMessage; var data = error === null || error === void 0 ? 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: title, message: message }; } // if returning an object for the title if ((0, _isPlainObject.default)(data.error)) { var errorObj = data.error; if (errorObj.message) { title = errorObj.message; } } else { var errorTitle = data.error || data.title; if (errorTitle) { title = errorTitle; } // set message if its there var errorMessage = data.detail || data.message; if (errorMessage) { message = errorMessage; } } title = "".concat(title, "."); message = "".concat(message, "."); return { title: title, message: message }; }