craftingIT

bridgingIT - Blog

TypeScript: Neue Typdefinitionen mit Pick

- Tobias Meier - Microsoft Individualentwicklung
Themen:
Blog Bild

Das Gegenstück zum Utility Type "Omit" stellt Pick da. Pick übernimmt nur die Properties aus der angegebenen Typdefinition welche als Argument übergeben werden. Wie bei Omit können mehrere Properties mit Hilfe des Pipe-Operators verknüpft werden:

Ausgangspunkt des Beispiels ist das Interface Contact mit den drei Properties "id", "firstname" und "lastname". Im nachfolgenden Beispiel wird ein neuer Typ Lastname erstellt der lediglich die Properties "firstname" und "lastname" enthält:

Auf diesen Weg können sehr einfach Subtypen mit einem Ausschnitt der Typdefinition erzeugt werden. Gerade in Fällen, in denen über Swagger Teile der TypeScrpt Codes anhand der API automatisch generiert werden, entstehen oftmals sehr große Typen.Evtl. werden die darüber geladenen Objekte im ngrx-Store gespeichert und dann z.B. in einer Liste dargestellt. Für die Liste werden aber in aller Regel nicht alle Properties benötigt, sondern evtl. nur 3 von 100. Mit Pick kann dann mit wenig Aufwand ein neuer Datentyp definiert werden (basierend auf dem ursprünglichen), der aber nur die benötigten 3 Properties enthält. Wenn in der API eines der Properties umbenannt wird, würde der TypeScript-Compile einen Fehler melden, da er dann das Property nicht mehr findet .