defmodule <%= @module %> do
  @moduledoc false
  use Protobuf, <%= @use_options %>

  @type t :: integer | <%= Enum.map_join(@fields, " | ", &(":#{&1.name}")) %>

  <%= if @descriptor_fun_body do %>
  def descriptor do
    # credo:disable-for-next-line
    <%= @descriptor_fun_body %>
  end
  <% end %>

  <%= for %Google.Protobuf.EnumValueDescriptorProto{name: name, number: number} <- @fields do %>
  field :<%= name %>, <%= number %><% end %>
end
