Avatar ·

Comment exclure une propriété d'un type en TypeScript (Exclude property from type)

Bonjour à tous ! Je suis nouveau en TypeScript et j'ai rencontré un problème en travaillant avec les types d'objets. J'ai une interface `User` qui contient beaucoup de champs : `id`, `name`, `email`, `password`, `createdAt`, `role`, etc. Lorsque je renvoie les données utilisateur depuis l'API, je ne veux pas donner au client `password` et `createdAt` (ce sont des champs internes). Le problème est que je ne veux pas créer une interface séparée pour la représentation publique de l'utilisateur, car cela entraîne une duplication de code. Si j'ajoute un nouveau champ dans `User`, je dois penser à l'ajouter aussi dans l'interface publique. Voici un exemple : ```typescript interface User { id: number; name: string; email: string; password: string; createdAt: Date; role: 'admin' | 'user'; } // Comment faire pour obtenir un type sans password et createdAt ? // Je voudrais quelque chose comme : // type PublicUser = ExcludeProperty; ``` J'ai essayé d'utiliser `Omit`, mais je n'ai pas réussi.