Avatar ·

Análogo de `valueof` para `keyof` no TypeScript: como obter o tipo dos valores de um objeto?

Olá a todos! Recentemente comecei a estudar TypeScript e me deparei com um problema interessante. Todos conhecemos o `keyof` — ele funciona perfeitamente quando precisamos obter a união das chaves de um objeto. Por exemplo: ```typescript interface User { name: string; age: number; email: string; } type UserKeys = keyof User; // "name" | "age" | "email" ``` Mas preciso do oposto — obter a união dos *tipos dos valores* do objeto. Ou seja, para a interface `User`, quero obter o tipo `string | number`, e não `"name" | "age" | "email"`. Tentei escrever algo como `valueof`, mas o TypeScript retorna um erro. Pesquisei no Google — encontrei uma pergunta semelhante no Stack Overflow, mas as respostas estavam em inglês e não entendi completamente. O problema específico: tenho um objeto de configuração com diferentes tipos de campos (strings, números, valores booleanos). Preciso escrever uma função que aceite qualquer chave desse objeto e retorne o valor do tipo correto. Sem `valueof`, sou forçado a usar `any` em toda parte, o que