Genéricos
20 pasos en 4 series de TypeScript.
Parámetros de tipo, y después la parte que la gente se salta: leer tipos, no solo escribirlos. keyof, typeof, el acceso indexado y las reglas de inferencia que hacen que la mayoría del código no necesite ninguna anotación.
Los tipos auxiliares genéricos lo cierran. Veinte pasos, y aquí es donde TypeScript deja de sentirse como anotaciones sobre JavaScript y empieza a sentirse como un lenguaje propio.
Parámetros de tipo
- GenéricosFunciones y tipos que operan sobre cualquier tipo.
- Restricciones y valores por defectoUn parámetro de tipo puede acotarse, y puede tener un valor por defecto.
- InferenciaDónde deduce el tipo TypeScript, y cómo ayudarlo.
- VarianzaDónde se acepta un subtipo, y las anotaciones que lo declaran.
Leer tipos
- keyof y acceso indexadoLos dos operadores con los que se construye todo helper genérico.
- Leer tipos desde los valorestypeof eleva el tipo de un valor; ReturnType e InstanceType van más allá.
- Tipos utilitariosLos transformadores de tipos integrados que usas a diario.
- Los tipos utilitariosLos integrados que vale la pena memorizar, y para qué sirve cada uno.
Auxiliares genéricos
- Elegir claves de un objetoSelecciona claves de un objeto y recibe de vuelta un tipo correctamente estrechado.
- Agrupación genéricaAgrupar por una función de clave, con el tipo de retorno derivado de la clave.
- Indexar por claveIndexa un arreglo en un registro con claves tomadas de uno de sus campos.
- Agrupar entradas por valorAgrupa las entradas de un objeto por su valor.
- Partición por predicadoDivide un arreglo en dos según un predicado, estrechando el tipo cuando el predicado es una guarda.
- Mínimo por claveEncuentra el elemento menor según un valor calculado; devuelve undefined con un arreglo vacío.
- Únicos por claveDeduplica por una clave calculada, con el tipo de la clave inferido.
- Zip tipadoEmpareja arreglos paralelos en tuplas tipadas.
- Partir un arregloParte un arreglo en piezas de tamaño fijo, genérico en el elemento.
- Búsqueda binariaBúsqueda binaria sobre un arreglo ordenado, genérica en el tipo del elemento.
- Map sobre un opcionalAplica una función solo cuando el valor no es null ni undefined.
Bis
- inventory.tsUn script de inventario completo: entran registros tipados, sale un reporte agrupado y totalizado.