File tree Expand file tree Collapse file tree 2 files changed +21
-4
lines changed
Expand file tree Collapse file tree 2 files changed +21
-4
lines changed Original file line number Diff line number Diff line change 1- import { ClassConstructor , plainToClass } from 'class-transformer' ;
2- import { validate } from 'class-validator' ;
1+ import type { ClassConstructor } from 'class-transformer' ;
32import { BadRequestException } from '../exceptions' ;
43import { flattenValidationErrors } from './getClassValidatorError' ;
4+ import { loadPackage } from './loadPackage' ;
55
66export async function validateObject ( cls : ClassConstructor < any > , value : Record < string , string > ) : Promise < any > {
7- const bodyValue = plainToClass ( cls , value , {
7+ const classValidator = loadPackage ( 'class-validator' ) ;
8+ if ( ! classValidator ) {
9+ return value ;
10+ }
11+
12+ const classTransformer = loadPackage ( 'class-transformer' ) ;
13+ if ( ! classTransformer ) {
14+ return value ;
15+ }
16+
17+ const bodyValue = classTransformer . plainToClass ( cls , value , {
818 enableImplicitConversion : true
919 } ) ;
10- const validationErrors = await validate ( bodyValue , {
20+ const validationErrors = await classValidator . validate ( bodyValue , {
1121 enableDebugMessages : process . env . NODE_ENV === 'development'
1222 } ) ;
1323
Original file line number Diff line number Diff line change 1+ export function loadPackage ( name : string ) : any {
2+ try {
3+ return require ( name ) ;
4+ } catch {
5+ return false ;
6+ }
7+ }
You can’t perform that action at this time.
0 commit comments