我如何定义一个类型,它要么有额外的属性块(在isLocked
之上),要么根本没有它们?Partial
保证所有额外的属性都是可选的。我希望它们都是必需的,或者根本不存在。
type AccountMetadata = {
roles: string[];
name: string;
}
type Account = {
isLocked: boolean;
} & (AccountMetadata | {})
type Account = {
isLocked: boolean;
} & (AccountMetadata | never)
预期结果
{ isLocked: boolean; roles: string[]; name: string } | { isLocked: boolean }
1条答案
按热度按时间ql3eal8s1#
不完全是类型扩展,但你可以这样做: