例如,我输入类似这样的提示:
type ActionResource = {
type: "QUERY";
payload: IListPayload;
} | {
type: "GET";
payload: {
id: string;
};
} | {
type: "QUERY_NEXT";
} | {
type: "SAVE";
payload: {
id: string;
data: any;
};
} | {
type: "SEARCH_TEXT";
payload: {
...;
};
}
现在,我想获取具有type
属性='SAVE'的特定类型
所以我喜欢这样
type GetActionResourceType<K extends ActionResource['type']> = ActionResource
type SaveType = GetActionResourceType<'SAVE'>
我希望它返回的SaveType类型如下:
{
type: "SAVE";
payload: {
id: string;
data: any;
}
如何根据自己的意愿制作GetActionResourceType
答案 0 :(得分:1)
您可以只使用int()
(请参见docs中的预定义条件类型)条件类型来提取扩展特定类型的类型:
newlist = [int(ch) for ch in list(s[2:])]
# [1, 0, 1, 0, 0]