【发布时间】:2020-09-04 09:04:27
【问题描述】:
我有这个功能
function single<T, TElem, K extends keyof T>(obj: T, name: K): TElem {
const source = obj[name];
if (source.length !== 1) {
throw Error(`Debería existir exactamente un ${name} asociado`);
}
return _.first(source);
}
该函数的思想是返回一个数组中的唯一值,该数组位于原始对象的指定属性中。问题是我不知道如何用这样的方式键入该函数:
function single<T, TElem, K extends keyof T>(obj: T, name: K): TElem
where T[K] extends TElem[]
{
const source = obj[name];
if (source.length !== 1) {
throw Error(`Debería existir exactamente un ${name} asociado`);
}
return _.first(source);
}
有没有办法做到这一点?
【问题讨论】:
标签: typescript typescript-generics