@altostra/core
Version:
Core library for shared types and logic
1 lines • 1.41 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromCrossAccountInfo=exports.roleStatus=exports.isAwsAccount=exports.isRoleStatus=exports.roleStatusesSet=exports.awsAccount=void 0;const util_1=require("util"),NonEmptyString_1=require("../CustomTypes/NonEmptyString"),AltoError_1=require("../Errors/AltoError"),type_validations_1=require("@altostra/type-validations");function awsAccount(t){if(!(0,exports.isAwsAccount)(t))throw AltoError_1.AltoError.create((0,util_1.inspect)(t)+" is not a valid Aws account type",{data:{value:t}});return t}function roleStatus(t){if(!(0,exports.isRoleStatus)(t))throw AltoError_1.AltoError.create(t+" is not a valid role status type",{data:{value:t}});return t}function fromCrossAccountInfo({altostraAccountId:t,integrationAccountId:o,roleStatus:r}){return{altostraAccountId:(0,NonEmptyString_1.nonEmptyString)(t),integrationAccountId:(0,NonEmptyString_1.nonEmptyString)(o),roleStatus:r}}exports.awsAccount=awsAccount,exports.roleStatusesSet=new Set(["Pending","Create","Update","Delete"]),exports.isRoleStatus=(0,type_validations_1.enumOf)(...exports.roleStatusesSet),exports.isAwsAccount=(0,type_validations_1.objectOf)({altostraAccountId:NonEmptyString_1.isNonEmptyString,integrationAccountId:NonEmptyString_1.isNonEmptyString,roleStatus:exports.isRoleStatus}),exports.roleStatus=roleStatus,exports.fromCrossAccountInfo=fromCrossAccountInfo;