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

208
Vistas
Mecanografiado: ¿cómo reducir los tipos genéricos asignados en una función?

Tengo 3 tipos de usuarios como se declara a continuación

 declare enum UserType { Admin = "Admin", Tester = "Tester", Customer = "Customer", } type AdminParams = { ... } class Admin { constructor(parameters: AdminParams) {} } type TesterParams = { ... } class Tester { constructor(parameters: TesterParams) {} } type CustomerParams = { ... } class Customer { constructor(parameters: CustomerParams) {} }

Y tengo la clase UserFactory que genera una instancia de usuario basada en el tipo dado

 // Params based on user Type type UserTypeParamsMap = { [UserType.Admin]: AdminParams; [UserType.Tester]: TesterParams; [UserType.Customer]: CustomerParams; }; type UserParam<T extends keyof UserTypeParamsMap> = UserTypeParamsMap[T]; // Class based on user type type UserTypeInstanceMap = { [UserType.Admin]: Admin; [UserType.Tester]: Tester; [UserType.Customer]: Customer; }; type UserInstance<T extends keyof UserTypeInstanceMap> = UserTypeInstanceMap[T]; // Factory export class UserFactory { public static createNew = async <T extends keyof UserTypeParamsMap>(userType: T, params: UserParam<T>): Promise<UserInstance<T>> => { ... } }

La firma de la función es correcta cuando ingreso diferentes tipos de usuarios function_user_type_adminfunction_user_type_tester

Pero en la función no puede restringir los parámetros, cada vez que lo verifico en la declaración if ingrese la descripción de la imagen aquí

¿Cómo puedo reducirlo para que sea un tipo de mapa específico usando el tipo de userType dado?

Versión mecanografiada: 4.6.3

Esperado: los params se reducirán a un tipo específico

Enlace del patio de recreo

about 4 years ago · Juan Pablo Isaza
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