Type-level Programming
TypeScript 🔴 SeniorDefinition
Technique avancee consistant a ecrire de la logique (conditions, boucles, pattern matching) entierement dans le systeme de types TS, sans code runtime.
Analogie
Comme resoudre des equations sur un tableau blanc — tout se passe dans la theorie, rien n'est execute.
Exemple de code
type IsString<T> = T extends string ? true : false;
type A = IsString<"hello">; // true
type B = IsString<42>; // false
type Length<T extends any[]> =
T extends { length: infer L } ? L : never;
Cas d'usage
Creer des validations de types complexes dans les bibliotheques (zod, tRPC, Prisma).
Anti-pattern
Ecrire du type-level programming complexe pour des cas simples — maintenance cauchemardesque.