2017-06-13 5 views
0

J'ai une interface qui ressemble à ceci:Simplifier la définition de type avec keyof (interface)?

declare global { 
    namespace Express { 
     interface Request { 
      db: { 
       User: Repository<User>, 
       Product: Repository<Product> 
      } 
     } 
    } 
} 

Est-il possible de changer dynamiquement db en somthing? avec keyof? Je n'ai donc pas besoin de changer l'interface à chaque changement de base de données.

Répondre

0

Vous pouvez, en faisant db de type any. Vous pouvez également choisir de faire de votre interface une interface générique (Request), ce qui serait mieux ...

Qu'est-ce que vous essayez de faire exactement? Une interface est juste pour la conception d'un contrat, pas pour le comportement dynamique ...