Current section

Files

Jump to
protox lib google protobuf null_value.ex
Raw

lib/google/protobuf/null_value.ex

# Proto definition
# https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto
# JSON encoding
# https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#value
defimpl Protox.JsonEnumDecoder, for: Google.Protobuf.NullValue do
def decode_enum(_enum, nil), do: :NULL_VALUE
def decode_enum(_enum, "NULL_VALUE"), do: :NULL_VALUE
def decode_enum(_enum, _value), do: raise(Protox.JsonDecodingError.new("invalid NullValue"))
end
defimpl Protox.JsonEnumEncoder, for: Google.Protobuf.NullValue do
def encode_enum(_enum, :NULL_VALUE, json_encode) do
json_encode.(nil)
end
end