UNPKG

deep-package-manager

Version:
94 lines (72 loc) 2.18 kB
/** * Created by AlexanderC on 5/25/15. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProvisioningCollisionsListingException = undefined; var _Exception = require('../../Exception/Exception'); var _os = require('os'); var _os2 = _interopRequireDefault(_os); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class ProvisioningCollisionsListingException extends _Exception.Exception { /** * @param {Object} errorsObj */ constructor(errorsObj) { let plainError = ProvisioningCollisionsListingException._stringifyErrorsObj(errorsObj); super(`Error while listing AWS resources:${_os2.default.EOL}${plainError}`); this._errorsObj = errorsObj; } /** * @returns {String} */ get stringifiedErrorsObj() { return ProvisioningCollisionsListingException._stringifyErrorsObj(this._errorsObj); } /** * @param {Object} result * @returns {String} * @private */ static _stringifyErrorsObj(result) { // back compatibility hook for old result format if (result.hasOwnProperty('errors')) { return ProvisioningCollisionsListingException._stringifyErrors(result.errors); } let output = ''; for (let regionName in result) { if (!result.hasOwnProperty(regionName)) { continue; } let regionErrors = result[regionName].errors; output += `Errors in ${regionName} region: ${_os2.default.EOL}`; output += ProvisioningCollisionsListingException._stringifyErrors(regionErrors); } return output; } /** * @param {*} errorsObj * @returns {String} * @private */ static _stringifyErrors(errorsObj) { let output = ''; for (let resourceName in errorsObj) { if (!errorsObj.hasOwnProperty(resourceName)) { continue; } let error = errorsObj[resourceName]; output += `- ${resourceName}: ${error}${_os2.default.EOL}`; } return output; } /** * @returns {Object} */ get errorsObj() { return this._errorsObj; } } exports.ProvisioningCollisionsListingException = ProvisioningCollisionsListingException;