defmodule <%= @module %> do <%= unless @module_doc? do %> @moduledoc false <% end %> use Protobuf<%= @use_options %> <%= if @descriptor_fun_body do %> def descriptor do # credo:disable-for-next-line <%= @descriptor_fun_body %> end <% end %> <%= for {%Google.Protobuf.OneofDescriptorProto{name: name}, index} <- Enum.with_index(@oneofs) do %> <%= if !String.starts_with?(name, "_") do %> oneof :<%= name %>, <%= index %><% end %> <% end %> <%= for f <- @fields do %> field <%= f %><% end %> <%= if @transform_module do %> def transform_module(), do: <%= inspect(@transform_module) %> <% end %> <%= if @extensions != [] do %> extensions [<%= Enum.map_join(@extensions, ", ", fn {start, end_} -> "{#{start}, #{end_}}" end) %>] <% end %> end