2017-04-18 2 views
0

Ich hatte dieses Typenscript vom GenerateTypeScript-Gradle-Plugin generiert.Get Liste aller Typen eines bestimmten String-Typ

export type FoodUnit = "AS_NEEDED" | "G" | "KG" | "ML" | "L" | "JAR" | "CAN" | "PIECE" | "BUNCH" | "HANDFUL" | "STALK" | "SLICE" | "TABLESPOON" | "TEASPOON" | "DROP" | "CUP" | "TWIG"; 

Jetzt möchte ich eine Liste aller möglichen Einheiten in einer Klasse haben.

units:FoodUnit[] = ["AS_NEEDED", "G", "KG" ..... 

Gibt es eine Möglichkeit

units:FoodUnit[] = FoodUnit.values() 

wie würde ich in Java statt schreiben?

Antwort

1

Ihr generierten Code verwendet die type Schlüsselwort und erzeugt somit ein type alias:

export type FoodUnit = "AS_NEEDED" | "G" | "KG" | "ML" | "L" | "JAR" | "CAN" | "PIECE" | "BUNCH" | "HANDFUL" | "STALK" | "SLICE" | "TABLESPOON" | "TEASPOON" | "DROP" | "CUP" | "TWIG"; 

Typ Aliase sind rein Compiler-Konstrukte: sie existieren nicht in Ihrem JS-Code in irgendeiner Form, die von tatsächlich ausgeführt wird ein Browser oder ein Knoten.

Wenn Sie ein String-basiertes Enum-Konstrukt möchten, können Sie eine Bibliothek wie typescript-string-enums verwenden oder tun Sie es selbst as documented here.

Verwandte Themen