L’article explore les distributive conditional types en TypeScript, une fonctionnalité permettant de manipuler les types unions de manière fine. L’idée centrale repose sur la distributivité des types conditionnels, où TypeScript applique automatiquement une opération à chaque membre d’une union, comme transformer User | Admin | SuperAdmin en User[] | Admin[] | SuperAdmin[] via un type générique.
L’auteur illustre ce concept avec des exemples concrets, comme le filtrage d’unions (par exemple, conserver uniquement les rôles "admin" et "superadmin") ou la création de structures homogènes à partir de types hétérogènes. La technique repose sur une condition redondante (T extends unknown) pour déclencher la distributivité, simplifiant ainsi des opérations complexes.
Enfin, l’article s’inscrit dans une réflexion plus large sur TypeScript, comparé à Haskell pour son approche statique, et mentionne brièvement l’expérience de l’auteur en développement backend.