import { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common'; import { plainToClass } from 'class-transformer'; @Injectable() export class SanitizePipe implements PipeTransform { transform(value: any, metadata: ArgumentMetadata) { if ( !(value instanceof Object) || value instanceof Buffer || value instanceof Array ) { return value; } const constructorFunction = metadata.metatype; if (!constructorFunction || value instanceof constructorFunction) { return value; } try { return plainToClass(constructorFunction, value); } catch (err) { console.error(err); throw err; } } }