@@ -71,7 +71,9 @@ export class ValidationExecutor {
7171 this . strictGroups = ( validatorOptions && validatorOptions . strictGroups ) || false ;
7272 this . always = ( validatorOptions && validatorOptions . always ) || false ;
7373 this . forbidUnknownValues =
74- ! validatorOptions || validatorOptions . forbidUnknownValues === undefined || validatorOptions . forbidUnknownValues !== false ;
74+ ! validatorOptions ||
75+ validatorOptions . forbidUnknownValues === undefined ||
76+ validatorOptions . forbidUnknownValues !== false ;
7577 this . whitelist = ( validatorOptions && validatorOptions . whitelist ) || false ;
7678 this . forbidNonWhitelisted = ( validatorOptions && validatorOptions . forbidNonWhitelisted ) || false ;
7779 }
@@ -95,7 +97,13 @@ export class ValidationExecutor {
9597 ) ;
9698 }
9799
98- const cacheKey = this . metadataStorage . buildCacheKey ( object . constructor , targetSchema , this . always , this . strictGroups , this . groups ) ;
100+ const cacheKey = this . metadataStorage . buildCacheKey (
101+ object . constructor ,
102+ targetSchema ,
103+ this . always ,
104+ this . strictGroups ,
105+ this . groups
106+ ) ;
99107 const targetMetadatas = this . metadataStorage . getTargetValidationMetadatas (
100108 object . constructor ,
101109 targetSchema ,
@@ -216,19 +224,25 @@ export class ValidationExecutor {
216224 for ( const metadata of metadatas ) {
217225 validationArguments . constraints = metadata . constraints ;
218226
219- if ( metadata . inlineValidate && ( ! metadata . each || ! ( Array . isArray ( value ) || value instanceof Set || value instanceof Map ) ) ) {
227+ if (
228+ metadata . inlineValidate &&
229+ ( ! metadata . each || ! ( Array . isArray ( value ) || value instanceof Set || value instanceof Map ) )
230+ ) {
220231 if ( this . stopAtFirstError && validationError && hasConstraints ( validationError . constraints ) ) continue ;
221232
222233 const validatedValue = metadata . inlineValidate ( value , validationArguments ) ;
223234 if ( validatedValue !== true && validatedValue !== false ) {
224- const promise = ( validatedValue as Promise < boolean > ) . then ( isValid => {
235+ const promise = ( validatedValue ) . then ( isValid => {
225236 if ( ! isValid ) {
226237 if ( ! validationError ) validationError = this . generateValidationError ( object , value , propertyName ) ;
227238 const [ type , message ] = this . createValidationErrorInline ( metadata , validationArguments ) ;
228239 validationError . constraints [ type ] = message ;
229240 if ( metadata . context ) {
230241 if ( ! validationError . contexts ) validationError . contexts = { } ;
231- validationError . contexts [ type ] = Object . assign ( validationError . contexts [ type ] || { } , metadata . context ) ;
242+ validationError . contexts [ type ] = Object . assign (
243+ validationError . contexts [ type ] || { } ,
244+ metadata . context
245+ ) ;
232246 }
233247 }
234248 } ) ;
@@ -255,7 +269,11 @@ export class ValidationExecutor {
255269
256270 if ( validationError ) {
257271 const hasAsyncPending = this . awaitingPromises . length > asyncCountBefore ;
258- if ( hasConstraints ( validationError . constraints ) || ( validationError . children && validationError . children . length > 0 ) || hasAsyncPending ) {
272+ if (
273+ hasConstraints ( validationError . constraints ) ||
274+ ( validationError . children && validationError . children . length > 0 ) ||
275+ hasAsyncPending
276+ ) {
259277 validationErrors . push ( validationError ) ;
260278 }
261279 } else if ( this . awaitingPromises . length > asyncCountBefore ) {
@@ -380,7 +398,10 @@ export class ValidationExecutor {
380398 if ( metadata . validateIf && ! metadata . validateIf ( object , value ) ) continue ;
381399
382400 // Fast path: inline validators (all built-in decorators) bypass constraint metadata dispatch
383- if ( metadata . inlineValidate && ( ! metadata . each || ! ( Array . isArray ( value ) || value instanceof Set || value instanceof Map ) ) ) {
401+ if (
402+ metadata . inlineValidate &&
403+ ( ! metadata . each || ! ( Array . isArray ( value ) || value instanceof Set || value instanceof Map ) )
404+ ) {
384405 if ( this . stopAtFirstError ) {
385406 const error = getError ( ) ;
386407 if ( hasConstraints ( error . constraints ) ) continue ;
@@ -389,7 +410,7 @@ export class ValidationExecutor {
389410 const validatedValue = metadata . inlineValidate ( value , validationArguments ) ;
390411 if ( validatedValue !== true && validatedValue !== false ) {
391412 // Async result (Promise)
392- const promise = ( validatedValue as Promise < boolean > ) . then ( isValid => {
413+ const promise = ( validatedValue ) . then ( isValid => {
393414 if ( ! isValid ) {
394415 const error = getError ( ) ;
395416 const [ type , message ] = this . createValidationErrorInline ( metadata , validationArguments ) ;
@@ -417,7 +438,8 @@ export class ValidationExecutor {
417438 continue ;
418439 }
419440
420- const constraintMetadatas = metadata . resolvedConstraints ??
441+ const constraintMetadatas =
442+ metadata . resolvedConstraints ??
421443 ( metadata . resolvedConstraints = this . metadataStorage . getTargetValidatorConstraints ( metadata . constraintCls ) ) ;
422444 for ( const customConstraintMetadata of constraintMetadatas ) {
423445 if ( customConstraintMetadata . async && this . ignoreAsyncValidations ) continue ;
@@ -509,10 +531,7 @@ export class ValidationExecutor {
509531 for ( const metadata of metadatas ) {
510532 if ( metadata . type !== ValidationTypes . NESTED_VALIDATION && metadata . type !== ValidationTypes . PROMISE_VALIDATION ) {
511533 continue ;
512- } else if (
513- this . stopAtFirstError &&
514- Object . keys ( error . constraints || { } ) . length > 0
515- ) {
534+ } else if ( this . stopAtFirstError && Object . keys ( error . constraints || { } ) . length > 0 ) {
516535 continue ;
517536 }
518537
@@ -550,9 +569,12 @@ export class ValidationExecutor {
550569 // Inline validators: use metadata.name directly
551570 type = metadata . name || metadata . type ;
552571 } else {
553- const customConstraints = metadata . resolvedConstraints ??
554- ( metadata . resolvedConstraints = this . metadataStorage . getTargetValidatorConstraints ( metadata . constraintCls ) ) ;
555- type = ( customConstraints [ 0 ] && customConstraints [ 0 ] . name ) ? customConstraints [ 0 ] . name : metadata . type ;
572+ const customConstraints =
573+ metadata . resolvedConstraints ??
574+ ( metadata . resolvedConstraints = this . metadataStorage . getTargetValidatorConstraints (
575+ metadata . constraintCls
576+ ) ) ;
577+ type = customConstraints [ 0 ] && customConstraints [ 0 ] . name ? customConstraints [ 0 ] . name : metadata . type ;
556578 }
557579 } else {
558580 type = metadata . type ;
0 commit comments