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

159
Vistas
Función mecanografiada que devuelve el objeto modificado con los tipos correctos

esto puede sonar estúpido, pero quiero saber si puedo usar una función que devuelva un objeto modificado y muestre el tipo correcto a cambio.

La entrada es la siguiente

 { enable: { label: "Enable", value: false }, castShadow: { label: "Intensity", value: 25, condition: currentValue.type === "Circle"} }

En cuanto al valor de retorno, quiero modificarlo para que sea así.

 {enable:true,castShadow:40}

El objetivo final que quiero lograr es este si es posible.

 const { ConfigRenderer, enable, castShadow} = useConfig({ enable: { label: "Enable", value: false }, castShadow: { label: "Intensity", value: 25, condition: currentValue.type === "Circle"} });
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede lograr esto usando tipos asignados y tipos condicionales como este:

 type ValuesOf<T, P = 'value'> = { [K in keyof T]: P extends (keyof T[K]) ? T[K][P] : never }; function useConfig<T>(param: T): ValuesOf<T> { // ... }

El tipo ValuesOf es un tipo asignado que contendrá todas las claves del tipo T pero las asigna al tipo de la propiedad P dentro del tipo T (o nunca, si la propiedad P no existe en el tipo T ). En el código anterior, P está predeterminado en 'value' pero también podría usar cualquier otro nombre de propiedad o incluso una unión de nombres de propiedad.

about 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