DeepStrictTypes: manejar tipos complejos de TypeScript con más facilidad
(github.com/kakasoo)DeepStrictTypes es una colección de tipos utilitarios de TypeScript creada para manejar objetos anidados de forma más segura y práctica.
Cuando usas Omit o Pick tradicionales, es difícil procesar limpiamente propiedades muy anidadas, pero con DeepStrictOmit y DeepStrictPick puedes seleccionar exactamente las partes que quieres.
Por ejemplo, en el tipo { user: { name: string; age: number } }, si usas DeepStrictOmit<Example, 'user.name'>, se transforma con precisión en algo como { user: { age: number } }. En cambio, si usas DeepStrictPick<Example, 'user.name'>, puedes dejar solo la parte necesaria, como { user: { name: string } }.
¿Y por qué hace falta esto?
✔️ Cuando quieres filtrar solo ciertos campos en una respuesta de API
✔️ Cuando quieres conservar solo las partes que te interesan dentro de un objeto anidado
También se añadieron de forma experimental utilidades de runtime como deepStrictObjectKeys y deepStrictAssert.
¡Pruébenlo y compártanme su feedback! ¡El interés por el open source les da fuerza a quienes lo crean!
10 comentarios
TypeScript siempre es una joya.
Gracias a ti, que conoces lo genial que es TypeScript.
https://github.com/sindresorhus/type-fest
¡Gracias!
Buenísimo
Gracias por el pulgar arriba y la recomendación.
No sé si habrá alguien que use los tipos tan intensamente hasta este nivel,
pero me da curiosidad ver casos de uso reales.
Yo lo usé mucho cuando trabajaba en el dominio de publicidad... :)
Facebook, Google... en fin, al final el dominio de publicidad solo tiene pequeñas diferencias y se puede abstraer con tipos casi iguales, así que lo usábamos cuando agrupábamos distintos servicios en un mismo dominio.
Parece que se usa bastante de esa forma cuando se procesan y transforman de distintas maneras los tipos de registros de datos de la base de datos en el servidor
Así es. De hecho, no suele generar mucha identificación entre quienes trabajan en frontend.