Skip to content

Commit 61c54e2

Browse files
Allow encoding values into different types
1 parent 01f43d9 commit 61c54e2

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

lib/bson/encoder.ex

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,13 @@ defmodule BSON.Encoder do
112112

113113
{key, value}, {_, acc} ->
114114
{key_type, key} = key(key)
115-
type = type(value)
116115

117-
value =
116+
{value, type} =
118117
case Mongo.Encoder.impl_for(value) do
119-
nil -> encode(value)
120-
_ -> value |> Mongo.Encoder.encode() |> encode()
118+
nil -> {encode(value), type(value)}
119+
_ ->
120+
new_value = value |> Mongo.Encoder.encode()
121+
{encode(new_value), type(new_value)}
121122
end
122123

123124
{key_type, [acc, type, key, value]}

0 commit comments

Comments
 (0)