从扩展类型的类型参数推断类型参数

时间:2020-05-06 20:28:23

标签: typescript-typings typescript-generics

我希望从下面的代码中获取C1,C3,C3和C4的类型。有可能吗?

interface TypeA<A1, A2, A3> {
  funcA1(): A1;
  funcA2(): A2;
  funcA3(): A3;
}

interface TypeB {
  propC1: TypeA<'t1', 't2', 't3'>;
}

abstract class TypeC<C1 extends TypeB['propC1'], C2 = {}, C3 = {}, C4 = {}> {
  abstract funcC1(a1: C2, a2: C3): C4;
}

Playground Link

例如C3的类型应为't2'(C3 = A2 ='t2')

0 个答案:

没有答案