Skip to content

Commit

Permalink
Merge pull request #27 from brexhq/yingying/update_message_options
Browse files Browse the repository at this point in the history
[WORK-877] update message options to check empty pb_extensions condition
  • Loading branch information
yingyingtang-brex authored Jun 22, 2022
2 parents 6b39397 + c7e2b9b commit 6ad957f
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lib/protobuf/protoc/generator/message.ex
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,12 @@ defmodule Protobuf.Protoc.Generator.Message do
[Map.from_struct(opt) | acc]
end
end)
|> inspect(limit: :infinity)
|> case do
[] ->
nil
opts ->
inspect(opts, limit: :infinity)
end
end

defp cal_message_options(_opts) do
Expand Down
4 changes: 4 additions & 0 deletions test/protobuf/protoc/proto/extension3.proto
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ message MyEventMessage {
option (brex.events.extension.message).is_event = true;
google.protobuf.DoubleValue f1 = 1 [(brex.elixirpb.field).extype="float"];
}

message MyNonEventMessage {
map<string, string> args = 1;
}
36 changes: 36 additions & 0 deletions test/protobuf/protoc/proto_gen/extension3.pb.ex
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,39 @@ defmodule Ext.MyEventMessage do

field :f1, 1, type: Google.Protobuf.DoubleValue, options: [extype: "float"]
end

defmodule Ext.MyNonEventMessage.ArgsEntry do
@moduledoc false
use Protobuf, custom_field_options?: true, map: true, syntax: :proto3

@type t :: %__MODULE__{
key: String.t(),
value: String.t()
}

defstruct [:key, :value]

def full_name do
"ext.MyNonEventMessage.ArgsEntry"
end

field :key, 1, type: :string
field :value, 2, type: :string
end

defmodule Ext.MyNonEventMessage do
@moduledoc false
use Protobuf, custom_field_options?: true, syntax: :proto3

@type t :: %__MODULE__{
args: %{String.t() => String.t()}
}

defstruct [:args]

def full_name do
"ext.MyNonEventMessage"
end

field :args, 1, repeated: true, type: Ext.MyNonEventMessage.ArgsEntry, map: true
end

0 comments on commit 6ad957f

Please sign in to comment.