有什么方法可以从接口中删除值:
tab
位置:
export interface FileQuery {
kind: 'FileQuery';
path: string;
encoding?: FileEncodings | null;
flag?: FileSystemFlags;
}
是否不包含StripValue<FileQuery>
?
将包含这样的类型:
kind
答案 0 :(得分:1)
您可以使用两个界面:
export interface FileQuery {
path: string;
encoding?: FileEncodings | null;
flag?: FileSystemFlags;
}
export interface SpecialFileQuery implements FileQuery {
kind: 'FileQuery';
}
答案 1 :(得分:0)
使用略:
export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
class FileQueryHandler {
static make (a : Omit<FileQuery, 'kind'>): FileQuery {
return { kind: 'FileQuery', ...a };
}
}