有没有可能以一种方式输入枚举数组,强制它包含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
},
"Resident"
是一个键,而EPostFromFileld.Resident
是它的值。你谈论着想要确保唯一的键,但你正在创建一个值的数组。你是在用“键”这个词来指代“值”吗?如果不是,我有点困惑;你能详细解释一下吗? - undefined