是否可以以强制包含 EPostFromField 枚举的每个值的方式键入枚举数组?
这是一个 mongodb 模式,用例是为了以后添加更多枚举时对枚举字段进行验证(即:让编译器抛出错误,因为数组没有枚举所有枚举值)。
作为奖励,我想下一个级别将是一个还保证枚举数组值是唯一的解决方案:)
export const enum EPostFromField {
Resident = 'resident',
AdminUser = 'admin-user', // Admin <user name>
BoardUser = 'board-user', // Board <user name>
AdminSociety = 'admin-society', // Admin <community name>
BoardSociety = 'board-society', // Board <community name>
}
showPostAs: {
type: String,
default: EPostFromField.Resident,
enum: [
EPostFromField.Resident,
EPostFromField.AdminUser,
EPostFromField.BoardUser,
EPostFromField.AdminSociety,
EPostFromField.BoardSociety,
] as EPostFromField[], // DEVNOTE: Improve typing to enforce *every* unique key of enum
},
Run Code Online (Sandbox Code Playgroud)