Type-level Programming

TypeScript 🔴 Senior

Definition

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.

Termes lies

#advanced#type-system