aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
4 lines (3 loc) • 1.88 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.validateStringFieldLength=validateStringFieldLength,exports.validateFieldPattern=validateFieldPattern,exports.throwIfInvalid=throwIfInvalid;var core_1=()=>{var tmp=require("../../../core");return core_1=()=>tmp,tmp},errors_1=()=>{var tmp=require("../../../core/lib/errors");return errors_1=()=>tmp,tmp},helpers_internal_1=()=>{var tmp=require("../../../core/lib/helpers-internal");return helpers_internal_1=()=>tmp,tmp};function validateStringFieldLength(params,_scope){const errors=[];if(params.value==null||core_1().Token.isUnresolved(params.value))return errors;const currentLength=params.value.length;return currentLength>params.maxLength&&errors.push(`The field ${params.fieldName} is ${currentLength} characters long but must be less than or equal to ${params.maxLength} characters`),currentLength<params.minLength&&errors.push(`The field ${params.fieldName} is ${currentLength} characters long but must be at least ${params.minLength} characters`),errors}function validateFieldPattern(value,fieldName,pattern,customMessage,_scope){const errors=[];return value==null||core_1().Token.isUnresolved(value)?errors:typeof value!="string"?(errors.push(`Expected string for ${fieldName}, got ${typeof value}`),errors):pattern instanceof RegExp?(pattern.test(value)||errors.push(customMessage||`The field ${fieldName} with value "${value}" does not match the required pattern ${pattern}`),errors):(errors.push("Pattern must be a valid regular expression"),errors)}function throwIfInvalid(validationFn,param,scope){const errors=validationFn(param,scope);if(errors.length>0)throw scope?new(errors_1()).ValidationError((0,helpers_internal_1().lit)`ValidationFailed`,errors.join(`
`),scope):new(errors_1()).UnscopedValidationError((0,helpers_internal_1().lit)`ValidationFailed`,errors.join(`
`));return param}