Module Augmentation

TypeScript 🔴 Senior

Definition

Technique pour ajouter des declarations a un module existant via declare module. Permet d'etendre les types d'une lib tierce.

Analogie

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

Exemple de code

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

Cas d'usage

Ajouter des proprietes typees aux objets de frameworks (Request express, Session, Window).

Anti-pattern

Augmenter des modules sans documenter pourquoi — les futurs developpeurs ne comprennent pas d'ou viennent les types.

Termes lies

#advanced#tooling