我想声明一个泛型函数,该函数接受部分接口作为参数并返回该文字参数。
我尝试了这些签名无济于事:
function setContextValue<V extends Partial<Context>>(values: V): V;
Partial<Context>
,但是我只想专门返回values
的允许键:function setContextValue(values: Partial<Context>): typeof values;
never
。function setContextValue<V extends { [K in keyof V]: K extends keyof Context ? V[K] : never }>(values: V): V;
#3是最好的解决方案吗?是否无法将返回类型指定为Pick<V, keyof Context>
?
谢谢!