Type-level Programming

TypeScript 🔴 Senior

Définition

Technique avancée consistant a écrire de la logique (conditions, boucles, pattern matching) entièrement dans le système de types TS, sans code runtime.

Analogie

Comme résoudre des équations sur un tableau blanc — tout se passe dans la théorie, rien n'est exécuté.

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

Créer des validations de types complexes dans les bibliothèques (zod, tRPC, Prisma).

Anti-pattern

Écrire du type-level programming complexe pour des cas simples — maintenance cauchemardesque.
#advanced#type-system

← → au clavier pour passer d'une fiche à l'autre