【发布时间】:2022-11-13 14:23:30
【问题描述】:
我有一些这样的类型:
export interface PublicFileData {
bucketName?: string;
objectName?: string;
}
export interface PrivateFileData {
id: string;
}
// Above types are imprted from other packages
export type Storage =
| { type: "public"; data: PublicFileData }
| { type: "private"; data: PrivateFileData };
有用。但是如何在不知道 FileData 类型的情况下将其更改为像这样的平面对象?:
export type Storage =
| {
type: "public";
bucketName?: string;
objectName?: string;
}
| {
type: "private";
id: string
};
我无法手动执行此操作,因为 FileData 类型是从其他地方导入的
也许我需要一个失踪展开类型运算符!!!
// I wish I had something like this:
export type Storage =
| { type: "public"; ...PublicFileData }
| { type: "private"; ...PrivateFileData };
这在打字稿中怎么可能?
【问题讨论】:
标签: typescript types