Current section

Files

Jump to
bin_struct lib bin_struct macro is_optional_field.ex
Raw

lib/bin_struct/macro/is_optional_field.ex

defmodule BinStruct.Macro.IsOptionalField do
@moduledoc false
alias BinStruct.Macro.Structs.Field
def is_optional_field( %Field{ opts: opts } ) do
is_optional_by_opts(opts)
end
defp is_optional_by_opts(opts) do
optional_by = (if opts[:optional_by], do: true, else: false)
optional = (if opts[:optional], do: true, else: false)
optional_by || optional
end
end