Clonando um objeto TypeScript
Eu tenho uma classe de texto datilografado
export class Restaurant {
constructor ( private id: string, private name: string ) {
}
public getId() : string {
return this.id;
}
public setId(_id : string) {
this.id = _id;
}
public getName () {
return this.name;
}
public setName ( _name:string ) {
this.name = _name;
}
}
Eu tenho uma instância dessa classe (este é um exemplo):
restaurant:Restaurant = new Restaurant(1,"TestRest");
Em seguida, guardo esse objeto de restaurante em algum tipo de cache
cache.store( restaurant );
mais tarde, na minha inscrição, eu recupero o restaurante
var restToEdit = cache.get( "1" );
restToEdit.setName( "NewName" );
Mas, como os javascripts passam por referência nos objetos, as alterações que faço no restToEdit também são salvas no restaurante em que está o cache.
Basicamente, quero que o restaurante no cache seja uma instância totalmente diferente do restoToEdit.
Eu tentei usar o jQuery.clone e estender, mas ele não parece funcionar e acho que isso é por ser um objeto de texto datilografado. Ou isso não importa?
Todas as respostas sobre como clonar este objeto serão apreciadas
obrigado