Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Transformador de clase: Propiedad que es un objeto con propiedades que es otra clase
class ClassA {
 x: number;
 y: number;
 sum(): number {
 return this.x + this.y;
 }
}

class ClassB {
 @Type(() => ClassA)
 z: {[key: string]: ClassA};
}

const b = plainToInstance(ClassB, plainObj);
const z = bz[key];
const s = z.sum();

Error porque bz no se transforma correctamente en par clave-valor de ClassA, no tiene sum().

¿Cuál es la forma correcta de hacer esto?

 plainObj = {z: {key1: {x: 1, y: 2}, key2: {x: 10, y: 20}}
almost 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Finalmente lo hice funcionar, los documentos mencionan los usos de Map pero no pude hacerlo funcionar. Resulta que también necesita configurar "emitDecoratorMetadata": true en tsconfig.json.

necesitas cambiar tu ClassB

 class ClassB {
 @Type(() => ClassA)
 z: Map<string, ClassA>;
}

entonces funcionará perfectamente.

almost 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda