public abstract void GenerateEnum(CustomIndentedTextWriter enumWriter, CustomIndentedTextWriter definitionsWriter, EnumGroup enumObj, out string globalTypeName);
public override void GenerateEnum(CustomIndentedTextWriter enumWriter, CustomIndentedTextWriter definitionsWriter, EnumGroup e, out string globalTypeName) { enumWriter.WriteLine($"{(ConstEnums ? "const " : "")}enum {e.Name} {{"); foreach (var value in e.Enum.Values) { enumWriter.Indent++; enumWriter.WriteLine($"{value.Name} = {GetEnumValue(value)},"); enumWriter.Indent--; } enumWriter.WriteLine("}"); globalTypeName = ConstEnums ? null : e.Name; }
public override void GenerateEnum(CustomIndentedTextWriter enumWriter, CustomIndentedTextWriter definitionsWriter, EnumGroup e, out string globalTypeName) { enumWriter.WriteLine($"type {e.Name} = {String.Join(" | ", e.Enum.Values.Select(GetEnumValue))};"); globalTypeName = null; }
/// <summary> /// Obtains the string value for the given enum field (<paramref name="enumValue"/>). /// The value obtained takes into account the <see cref="ValueMode"/> specified as the parameter in the constructor. /// </summary> /// <param name="enumGroup">The definitions for the type containing the enum field.</param> /// <param name="enumValue">The field/option of the enum that the values needs to be obtained from.</param> protected virtual string GetEnumValue(EnumGroup enumGroup, TsEnumValue enumValue) { return(GapEnumGenerator.GetEnumValue(ValueMode, enumValue)); }