UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 1.81 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isDesignRecommendationsResponse=exports.isRecommendation=exports.isConnectionRecommendation=exports.isResourceRecommendation=exports.isIssueType=exports.isSeverity=exports.isDesignRecommendationsRequest=void 0;const blueprint_1=require("../../../blueprint"),ResourceId_1=require("../../../blueprint/Resources/ResourceId"),type_validations_1=require("@altostra/type-validations"),primitives_1=require("@altostra/type-validations/lib/primitives");exports.isDesignRecommendationsRequest=(0,type_validations_1.objectOf)({blueprint:blueprint_1.isBlueprint}),exports.isSeverity=(0,type_validations_1.enumOf)("Error","Information","Warning"),exports.isIssueType=(0,type_validations_1.enumOf)("Billing","Compliance","Connectivity","Misc","Security");const isSuggestion=(0,type_validations_1.objectOf)({description:primitives_1.string,blueprint:blueprint_1.isBlueprint}),recommendationBaseValidations={issueCode:primitives_1.string,severity:exports.isSeverity,text:primitives_1.string,url:primitives_1.maybeString,issueType:exports.isIssueType,suggestions:(0,type_validations_1.arrayOf)(isSuggestion)};exports.isResourceRecommendation=(0,type_validations_1.objectOf)(Object.assign({resource:ResourceId_1.isResourceId},recommendationBaseValidations)),exports.isConnectionRecommendation=(0,type_validations_1.objectOf)(Object.assign({connection:(0,type_validations_1.objectOf)({source:ResourceId_1.isResourceId,target:ResourceId_1.isResourceId})},recommendationBaseValidations)),exports.isRecommendation=(0,type_validations_1.anyOf)(exports.isConnectionRecommendation,exports.isResourceRecommendation),exports.isDesignRecommendationsResponse=(0,type_validations_1.objectOf)({recommendations:(0,type_validations_1.arrayOf)(exports.isRecommendation)});