Executando verificação de segurança...
1

Não diria que é inútil, pois esses dados não serão recebidos diretamente do usuário, mas sim de um desenvolvedor que utilizará a função. Limitar as opções que o desenvolvedor pode passar como parâmetro pode reduzir significativamente o número de erros.

Entendo as preocupações levantadas sobre o TypeScript e suas limitações em runtime, mas é importante lembrar que a tipagem está mais voltada para o desenvolvimento e manutenção do código. Ela ajuda a tornar o código mais legível e seguro durante a fase de desenvolvimento, permitindo que o dev saiba quais tipos de dados esperar e como utilizá-los corretamente.

Além disso, a introdução de uma nova biblioteca para uma única função de validação pode aumentar a complexidade do projeto, gerar dependências desnecessárias e potencialmente dificultar a manutenção do código a longo prazo. Não sei se seria a melhor abordagem nesse caso!

Carregando publicação patrocinada...
1

se não quer adicionar a biblioteca pode fazer uma função que faça essa validação. A maior vantagem do Zod nesse caso seria para reduzir a complexidade na validação. Se esse for um caso crítico (como no meu exemplo), deve-se retornar um erro se o desenvolvedor adicionar os parâmetros errados na função.

Para reduzir significativamente o tipo de erros não teria jeito, apenas com testes unitários seria possível fazer isso efetivamente, partindo de uma boa cobertura desses testes. A complexidade envolvida em desenvolver essa tipagem não é justificada por nenhum ganho na legibilidade do código, até porque diminui ela.

Nesse caso específico uma biblioteca como zod garantiria muito mais a legibilidade e facilitaria a manutenção do código, além de que poderia ser utilizada em outras partes do projeto. Eventualmente uma aplicação que lida diretamente com IO precisa de validação e fazer tudo na mão é aumentar muito a complexidade.