TypeScript有没有一种方法可以从传递的参数类型派生泛型参数的值?
请考虑以下设置。
type Param<Result> = { bar: Result };
function foo<ResultType, ParamType extends Param<ResultType>>(
value: ParamType
) {
//
}
foo({ bar: "foo" });
我想要
ResultType
从传递给的值派生
foo
,在这种情况下
string
。由于我没有为
ResultType
param,TypeScript默认为
unknown
具有
function foo<unknown, {
bar: string;
}>(value: {
bar: string;
}): void
而我想要
function foo<string, {
bar: string;
}>(value: {
bar: string;
}): void
目标是键入的返回值
foo
基于
Result
。我认为这种方法根本不起作用,但也许还有其他方法可以达到同样的结果?
我很感激你的每一个暗示!