是否可以转换查找exmp的枚举:
enum StatusCodeEnum {
OK = 200,
BAD_REQUEST = 400,
UNAUTHORIZED = 401,
FORBIDDEN = 403,
NOT_FOUND = 404,
INTERNAL_SERVER_ERROR = 500,
SERVICE_UNAVAILABLE = 503,
}
模板类型只包含数字,如
TypeFromEnum = 200 | 400 | 500 | ... ---> numbers
我只对枚举转换感兴趣,而不切换到带有“as const”的普通对象
3条答案
按热度按时间ckx4rj1h1#
这在TypeScript 4.8中将是可能的,并从模板字符串类型中进行更具体的推断。
方法如下:
您不能轻松地迭代一个纯数值枚举,因为它在内部没有表示为联合类型,因此上面的方法首先确保它只获取数值枚举成员(如果它是一个混合的字符串/数值枚举),将它们转换为字符串类型的联合,然后通过
infer N extends nmber
技术转换回数值类型。Playground代码链接
e0bqpujr2#
qkf9rpyu3#
试试这个: