【发布时间】:2020-07-17 13:30:42
【问题描述】:
假设我们有这种类型:
type Product = {
id: string;
name: string;
isActive: boolean;
isAvailable: boolean;
}
是否可以从这个动态创建一个新类型,但键为snake_case,例如:
type ProductDb = {
id: string;
name: string;
is_active: boolean;
is_available: boolean;
}
事实上,我想定义一个对象 数据库映射器,如下所示:
class Mapper<Product, ProductDB> {
ObjectToDb = (object: Product): ProductDb => {};
DbToObject = (db: ProductDb): Product => {}
}
为了更进一步,拥有这个映射器的通用版本会很棒:
class Mapper<T, G> {
ObjectToDb = (object: T): G => {};
DbToObject = (db: G): T => {}
}
【问题讨论】:
标签: typescript