export const GetUserFn = async <T extends 'FullUser' | 'User'>(
{ userName, mongoId}: QueryGetUserArgs,
type: T
): Promise<
typeof type extends 'User'
? ResolversTypes['GetUserResult']
: GetFullUserSuccess | GetUserFailure
> => {
if(type === "FullUser") {
const result: GetFullUserSuccess = {};
return result;
}
我有一个获取用户的函数,它可以获取完整用户或普通用户。
我通过提供 user-type
告诉函数它应该获取哪个 type
。现在我希望结果也被正确输入,也就是 "FullUser"
返回 GetFullUserSuccess | GetUserFailure
,所以我使用了条件类型。
如何让类型正确计算?