Tipos genéricos variables en TypeScript?
Me gustaría hacer una función en TypeScript que tome una matriz de funciones de constructor y devuelva una matriz de instancias correspondiente. Vea el código a continuación.
Nota que elgetArray
l método @ es completamente incorrecto, es solo un intento de transmitir mi intención.
Es esto posible en cualquier forma o está más allá de las capacidades del motor de tipos de TypeScript?
class T1 {}
class T2 {}
class T3 {}
type AnyCon = new() => any;
function getOne<T_Con extends AnyCon>(con: T_Con): InstanceType<T_Con> {
return new con();
}
function getArray<T_Cons>(cons: T_Cons): InstanceType<T_Cons>[] {
return cons.map( (c: con) => new con() );
}
let t1: T1 = getOne(T1);
let [t2, t3]: [T2, T3] = getArray( [T2, T3] );