我有这个界面:
export interface MutationSheetDefinition {
_type: "mutation.sheet.definition"
id: string
name: string
mutations: MutationDefinition[]
referencedMutationSheets: MutationSheetReference[]
}
我想要这种类型:
interface ValidatedMutationSheetDefinition {
name: ValidationOf<string>
mutations: ValidationOf<MutationDefinition>[]
referencedMutationSheets: ValidationOf<MutationSheetReference>[]
}
我知道我可以使用以下方法 Select 接口的一个子集:
type narrowed = Pick<MutationSheetDefinition, "name"| "mutations" | "referencedMutationSheets">
这会给我
interface {
name: string
mutations: MutationDefinition[]
referencedMutationSheets: MutationSheetReference[]
}
但是我可以更改拾取的关键点的类型吗?
我会满足于为所有拾取的关键点使用固定类型,因此可以这样做:
interface {
name: Validation
mutations: Validation[]
referencedMutationSheets: Validation[]
}