Inicializar propiedades a partir de tipos genéricos en TypeScript
Tengo un código simple como se indica a continuación. Quiero autocrear instancias de los tipos genéricos proporcionados y simplemente crear múltiples servicios que trabajen con diferentes tipos dentro.
Todos los constructores son con parámetros.
Es fácil en C#, pero ¿cómo hacerlo en TypeScript?
export class MyClassA {
constructor(data) {
}
}
export class MyClassB {
constructor(data) {
}
}
export class BaseService<TTypeA, TTypeB> {
typeA: TTypeA;
typeB: TTypeB;
constructor(data) {
// How to create instances of typeA and typeB?
typeA = new TTypeA(data);
typeB = new TTypeB(data);
}
}
export class DataService extends BaseService<MyClassA, MyClassB> {
constructor(data) {
super(data)
}
doSomething() {
// Accessing data
// this.typeA ...
// this.typeB ...
}
}
const data: any = {};
const service = new DataService(data);
Descubrí que necesito poner algunos parámetros del creador de tipo en el constructor para obtener el tipo en tiempo de compilación, pero ¿cómo?