const OrderStatus = {
AWAITING_PAYMENT: {
value: 'AWAITING_PAYMENT',
label: '待支付'
},
AWAITING_DELIVER: {
value: 'AWAITING_DELIVER',
label: '待发货'
},
...
} as const
现在 OrderStatus.AWAITING_PAYMENT 是有类型提示 { value: 'AWAITING_PAYMENT', label: '待支付' } 的,我想写一个方法转换一下这个结构,变成
const OrderStatusEnum = {
AWAITING_PAYMENT: 'AWAITING_PAYMENT',
AWAITING_DELIVER: 'AWAITING_DELIVER'
} as const
转换方式是这样写的:
const OrderStatusEnum = Object.keys(OrderStatus).reduce((acc, key) => {
acc[key] = OrderStatus[key].value
return acc
}, {})
但是这样的方式 OrderStatusEnum 是没有类型提示的,怎么定义类型才能让 OrderStatusEnum.AWAITING_PAYMENT 会提示 'AWAITING_PAYMENT'?