UNPKG

deep-package-manager

Version:
79 lines (62 loc) 1.88 kB
/** * Created by AlexanderC on 5/25/15. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProvisioningCollisionsDetectedException = 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 ProvisioningCollisionsDetectedException extends _Exception.Exception { /** * @param {Object} resourcesObj * @param {String} collisionHash */ constructor(resourcesObj, collisionHash) { let plainError = ProvisioningCollisionsDetectedException._stringifyResourcesObj(resourcesObj); super(`The following AWS resources may collision:${_os2.default.EOL}${plainError}`); this._resourcesObj = resourcesObj; this._collisionHash = collisionHash; } /** * @returns {String} */ get stringifiedResourcesObj() { return ProvisioningCollisionsDetectedException._stringifyResourcesObj(this._resourcesObj); } /** * @param {Object} resourcesObj * @returns {String} * @private */ static _stringifyResourcesObj(resourcesObj) { let output = ''; for (let resourceName in resourcesObj) { if (!resourcesObj.hasOwnProperty(resourceName)) { continue; } let resources = resourcesObj[resourceName]; let resourcesKeys = Object.keys(resources); if (resourcesKeys.length > 0) { output += `- ${resourceName}: ${resourcesKeys.join(', ')}${_os2.default.EOL}`; } } return output; } /** * @returns {String} */ get collisionHash() { return this._collisionHash; } /** * @returns {Object} */ get resourcesObj() { return this._resourcesObj; } } exports.ProvisioningCollisionsDetectedException = ProvisioningCollisionsDetectedException;