это годится ?
function uploadFile<T extends IUploadFileOptions>(args: T): T['compress'] extends true ? IObjectResult : string;
function uploadFile({
compress = false
}: IUploadFileOptions) {
if (compress) {
return {
name: 'name',
type: 'image'
};
}
return 'string';
}
можно и так, но conditional types выстреливает в ногу на юнионах
Обсуждают сегодня