Skip to content

Commit 8c6bd63

Browse files
committed
Minor refactoring
1 parent 006ee2f commit 8c6bd63

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/protobuf/text.ex

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,15 +139,14 @@ defmodule Protobuf.Text do
139139
@spec encode_value(term(), :proto2 | :proto3, FieldProps.t(), boolean()) :: Algebra.t()
140140
defp encode_value(value, syntax, %{repeated?: true} = field_prop, print_unknown?)
141141
when is_list(value) do
142-
fun = fn val, _opts -> encode_value(val, syntax, field_prop, print_unknown?) end
143-
Algebra.container_doc("[", value, "]", inspect_opts(), fun, break: :strict)
142+
encode_list(value, syntax, field_prop, print_unknown?)
144143
end
145144

146-
defp encode_value(value, syntax, %{map?: true, repeated?: false} = field_prop, print_unknown?) do
145+
defp encode_value(value, syntax, %{map?: true} = field_prop, print_unknown?) do
147146
as_list =
148147
Enum.map(value, fn {k, v} -> struct(field_prop.type, key: k, value: v) end)
149148

150-
encode_value(as_list, syntax, %{field_prop | repeated?: true}, print_unknown?)
149+
encode_list(as_list, syntax, field_prop, print_unknown?)
151150
end
152151

153152
defp encode_value(value, _syntax, %{embedded?: true, type: mod}, print_unknown?) do
@@ -168,6 +167,11 @@ defmodule Protobuf.Text do
168167
inspect(value)
169168
end
170169

170+
defp encode_list(list, syntax, field_prop, print_unknown?) do
171+
fun = fn val, _opts -> encode_value(val, syntax, %{field_prop | repeated?: false, map?: false}, print_unknown?) end
172+
Algebra.container_doc("[", list, "]", inspect_opts(), fun, break: :strict)
173+
end
174+
171175
defp transform_module(message, module) do
172176
if transform_module = module.transform_module() do
173177
transform_module.encode(message, module)

0 commit comments

Comments
 (0)