我有一个像这样的对象联合
type NotificationState =
| { kind: "dynamic"; state: "pending" }
| { kind: "dynamic"; state: "deployingNodes" }
| { kind: "dynamic"; state: "provisioningEndpoints" }
| { kind: "dynamic"; state: "connecting" }
| { kind: "dynamic"; state: "applyingCredentials" }
| { kind: "static"; state: "online" }
| { kind: "static"; state: "updating" }
| { kind: "static"; state: "maintenance" }
| { kind: "static"; state: "unknown" }
打字稿是否支持通过过滤器创建新类型的方法?例如,我想创建一个类型,其中 kind
是 dynamic
type DynamicNotificationState =
| { kind: "dynamic"; state: "pending" }
| { kind: "dynamic"; state: "deployingNodes" }
| { kind: "dynamic"; state: "provisioningEndpoints" }
| { kind: "dynamic"; state: "connecting" }
| { kind: "dynamic"; state: "applyingCredentials" }
答案 0 :(得分:0)
你想要这样的东西吗?
type DynamicNotificationState<T> =
| { kind: T; state: "pending" }
| { kind: T; state: "deployingNodes" }
| { kind: T; state: "provisioningEndpoints" }
| { kind: T; state: "connecting" }
| { kind: T; state: "applyingCredentials" }
const v: DynamicNotificationState<'dynamic'> = {
}