{{#emitJSDoc}}/**
* Enum class {{classname}}.
* @enum {{=<% %>=}}{<%datatype%>}<%={{ }}=%>
* @readonly
*/{{/emitJSDoc}}
export default class {{classname}} {
    {{#allowableValues}}{{#enumVars}}
        {{#emitJSDoc}}/**
         * value: {{{value}}}
         * @const
         */{{/emitJSDoc}}
        "{{name}}" = {{{value}}};

    {{/enumVars}}{{/allowableValues}}

    {{#emitJSDoc}}/**
    * Returns a <code>{{classname}}</code> enum value from a Javascript object name.
    * @param {Object} data The plain JavaScript object containing the name of the enum value.
    * @return {{=< >=}}{module:<#invokerPackage><invokerPackage>/</invokerPackage><#modelPackage><modelPackage>/</modelPackage><classname>}<={{ }}=> The enum <code>{{classname}}</code> value.
    */{{/emitJSDoc}}
    static constructFromObject(object) {
        return object;
    }
}
