Module Augmentation

TypeScript 🔴 Senior

Définition

Technique pour ajouter des déclarations a un module existant via déclaré module. Permet d'étendre les types d'une lib tierce.

Analogie

Comme ajouter une extension a une maison existante — la structure originale reste intacte mais gagne de nouvelles pièces.

Exemple de code

// Etendre express
declare module "express" {
  interface Request {
    userId?: string;
  }
}

Cas d'usage

Ajouter des propriétés typées aux objets de frameworks (Request express, Session, Window).

Anti-pattern

Augmenter des modules sans documenter pourquoi — les futurs développeurs ne comprennent pas d'ou viennent les types.
#advanced#tooling

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