Skip to content

Commit 39c08cb

Browse files
committed
Cleaner way of checking for empty map
1 parent 6ed4a28 commit 39c08cb

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

lib/mongo_ecto/conversions.ex

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ defmodule Mongo.Ecto.Conversions do
4444
:error -> :error
4545
end
4646
end
47-
47+
4848
def from_ecto_pk(%Ecto.Query.Tagged{tag: :binary_id, value: value}, _pk),
4949
do: {:ok, BSON.Decoder.decode(value)}
5050
def from_ecto_pk(%Ecto.Query.Tagged{type: type, value: value}, _pk),
@@ -70,6 +70,8 @@ defmodule Mongo.Ecto.Conversions do
7070
def from_ecto_pk(_value, _pk),
7171
do: :error
7272

73+
defp document(doc, _pk) when is_map(doc) and map_size(doc) == 0,
74+
do: {:ok, %{}}
7375
defp document(doc, pk) do
7476
map(doc, fn {key, value} ->
7577
pair(key, value, pk, &from_ecto_pk(&1, pk))
@@ -103,13 +105,8 @@ defmodule Mongo.Ecto.Conversions do
103105
end)
104106

105107
case return do
106-
{values, :ok} -> {:ok, fix(values, list)}
108+
{values, :ok} -> {:ok, values}
107109
{_values, :error} -> :error
108110
end
109111
end
110-
111-
defp fix(values, map) when is_map(map),
112-
do: Enum.into values, %{}
113-
defp fix(values, _list),
114-
do: values
115112
end

0 commit comments

Comments
 (0)