打字稿自定义映射类型

时间:2018-12-05 16:22:38

标签: typescript

我正在尝试提出一个映射的type,以将对象的属性从类型Vector转换为Array

我现在有这个

type ToArray<T> = { 
   [P in keyof T]: T[P] extends Vector<any> ? Array<any> : T[P] 
}

如何正确映射any类型?我想保留原始的通用类型。

1 个答案:

答案 0 :(得分:2)

您可以使用条件类型的推断行为将原始参数获取到ValueError: Image size of 163205x147206 pixels is too large. It must be less than 2^16 in each direction.

Vector

有关type ToArray<T> = { [P in keyof T]: T[P] extends Vector<infer U> ? Array<U> : T[P] } 的更多详细信息,请参见“条件类型中的类型推断”一章here