'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _get = require('lodash/get');

var _get2 = _interopRequireDefault(_get);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var getMessage = function getMessage(error) {
  var message = (0, _get2.default)(error, 'message');
  var data = (0, _get2.default)(error, ['response', 'data']);

  var parts = [message, typeof data === 'string' ? data : null];

  return parts.filter(function (part) {
    return !!part;
  }).join(': ');
};

exports.default = function (error) {
  var errorMessage = getMessage(error);

  var internalError = error.error;
  var internalErrorMessage = internalError ? getMessage(internalError) : null;

  var parts = [errorMessage, internalErrorMessage];

  return parts.filter(function (part) {
    return !!part;
  }).join(': ');
};