Der Typoskript Compiler generiert aus exportiert Aufzählungen dies:
var YourEnumType;
(function (YourEnumType) {
YourEnumType[YourEnumType["None"] = 0] = "None";
YourEnumType[YourEnumType["OneThing"] = 1] = "OneThing";
YourEnumType[YourEnumType["OtherThing"] = 2] = "OtherThing";
})(YourEnumType = exports.YourEnumType || (exports.YourEnumType = {}));
Wie wir sehen können, ja, das erzeugt Javascript um die exports
aus dem Inneren einer Funktion verwendet.
In den Typskript-Compiler zu graben, mit dem generierten Ausgabeformat zu spielen, und so weiter, habe ich keine Möglichkeit gefunden, um dies zu umgehen. Trotzdem wäre dies Typoskript Code viel besser, wenn es kompiliert werden würde, wie wir in this Antwort sehen:
var YourEnumType = Object.freeze({"None":1, "OneThing":2, "OtherThing":3, ...});
Leider Typoskript dies nicht tun.
Ähnliche Graben in der Google Closure-Compiler show, dass es keine Möglichkeit gibt, um dies zu umgehen, ohne die Google Closure-Quellcode zu ändern.
Also, in Anbetracht dieser und anderer großer Probleme mit Enums in der gesamten Welt des Typoskripts, denke ich, dass der einzige Ausweg darin besteht, die Verwendung von Typoskript-Enums zu vermeiden.