【发布时间】:2021-06-27 02:50:51
【问题描述】:
我有一个这样的对象的联合
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" }
【问题讨论】:
-
Extract<NotificationState, {kind: 'dynamic'}> -
@kaya3 完美!谢谢
标签: typescript typescript-typings