有没有办法把这个代码
export class person {
@IsString()
@Column('text')
name: string
@IsOptional()
@IsString()
@Column('text')
description?: string
}
到的东西,类似于此
export class person {
name: string
description?: string
}
我知道,是需要装修,但似乎SSOT丢失物业类型必须申报财产每三次或更多次。
有没有解决这个更简单的方法? JOI?架构生成?
如果你发现自己使用相同的一组装饰的一遍又一遍的属性,你可以创建一个新的装饰,只是组成在一起。
const CombinedDecorator = (target, property, descriptor) => {
IsOptional(target, property, descriptor);
IsString(target, property, descriptor);
Column('text')(target, property, descriptor);
}
class Person {
@CombinedDecorator()
name: string;
}
你既可以拿出其中的几个,涵盖您共同使用情况或考虑把它变成一个装饰厂,它接受一个配置对象,并可选地应用基于存在params装饰。
我认为,即使有装饰重复一点点更优选地将使用类似JOI因为你仍然必须明确说明所有的规则,但是从实际的模型分开的地方,让真理的多种来源。