import Foundation

public enum {{ enum.name | caseUcfirst | overrideIdentifier }}: String, CustomStringConvertible {
    {%~ for value in enum.enum %}
    {%~ set key = enum.keys is empty ? value : enum.keys[loop.index0] %}
    case {{ key | caseEnumKey | escapeSwiftKeyword }} = "{{ value }}"
    {%~ endfor %}

    public var description: String {
        return rawValue
    }
}
