Eu tenho uma classe de super que é o pai ( Entity) para muitos subclasse ( Customer, Product, ProductCategory...)
Eu estou olhando para clonar dinamicamente um objeto que contém subobjetos diferentes no TypeScript.
Por exemplo: um Customerque tem diferente Productquem tem umProductCategory
var cust:Customer = new Customer ();
cust.name = "someName";
cust.products.push(new Product(someId1));
cust.products.push(new Product(someId2));
Para clonar toda a árvore do objeto, criei uma função no Entity
public clone():any {
var cloneObj = new this.constructor();
for (var attribut in this) {
if(typeof this[attribut] === "object"){
cloneObj[attribut] = this.clone();
} else {
cloneObj[attribut] = this[attribut];
}
}
return cloneObj;
}
O newsobe o seguinte erro quando ele é transpiled para javascript:error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
Embora o script funcione, eu gostaria de me livrar do erro transpilado