假设我有以下 TypeScript 类型:
enum EntityKind {
Foo = 'foo',
Bar = 'bar',
}
type Foo = {
kind: EntityKind.Foo,
foo: string
}
type Bar = {
kind: EntityKind.Bar,
bar: number
}
type Entity = (Foo | Bar) & {
id: string,
name: string
}
我希望当我向我的枚举类型中添加新类型时,类型检查器能够失败。所以我希望的是:
enum EntityKind {
Foo = 'foo',
Bar = 'bar',
Baz = 'baz',
}
我需要定义一个新类型Baz并将其添加到联合中,否则会出现一些需要这样做的错误。
这种操作是否可行?