Skip to content

Commit a042d98

Browse files
committed
Refactor to avoid warning on certain versions
By using match instead of equality, we avoid can make -0.0 go to the final clause when running on OTP >= 27.
1 parent d466b40 commit a042d98

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/protobuf/json/encode.ex

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,12 @@ defmodule Protobuf.JSON.Encode do
302302
defp maybe_repeat(%{repeated?: true}, val, fun), do: Enum.map(val, fun)
303303

304304
defp default?(_prop, +0.0), do: true
305-
defp default?(_prop, -0.0), do: false
306-
defp default?(_prop, value) when value in [nil, 0, false, [], "", %{}], do: true
305+
defp default?(_prop, nil), do: true
306+
defp default?(_prop, 0), do: true
307+
defp default?(_prop, false), do: true
308+
defp default?(_prop, []), do: true
309+
defp default?(_prop, ""), do: true
310+
defp default?(_prop, %{} = map) when map_size(map) == 0, do: true
307311
defp default?(%{type: {:enum, enum}}, key) when is_atom(key), do: enum.value(key) == 0
308312
defp default?(_prop, _value), do: false
309313

0 commit comments

Comments
 (0)