Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

109
Visualizações
¿Cómo puedo especificar tipos en una función de conversión de caja de camello a serpiente?

Tengo una función que convierte el caso de una cadena, matriz u objeto de destino de un caso de camello a un caso de serpiente.

 convertCamelToSnake (target) { // Complex logic to convert target depending on what type it is return convertedTarget }

Quiero especificar tipos en esta función usando un Genérico así:

 convertCamelToSnake <T>(target: T):T { // Complex logic to convert target depending on what type it is return convertedTarget }

Esto funciona para cadenas y arreglos, pero convertimos las claves de un objeto dado en formato serpiente. Pero mecanografiado no se da cuenta de esto y asume que las claves siguen siendo las mismas porque declaramos que estamos devolviendo T .

¿Cómo puedo conservar la capacidad de saber el tipo que se devuelve? Es decir, cadena, matriz, objeto, dejando las claves del diccionario ambiguas.

Por ejemplo, digamos que pasamos:

 const a = { helloWorld: "bob", age: 21 } a = convertCamelToSnake(a); // { hello_world: "bob", age: 21 }; a.hello_world; // Property 'hello_world' does not exist on type

¿Cómo podemos hacer que se nos permita acceder a la propiedad hello_world después de convertir el objeto, y al mismo tiempo poder inferir que el valor de retorno es de tipo object (ya que, por ejemplo, también podríamos pasar una matriz a esta función )?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda