Packages
BinStruct is a library which provides you rich set of tools for parsing/encoding binaries
Current section
Files
Jump to
Current section
Files
lib/bin_struct/macro/parse/result.ex
defmodule BinStruct.Macro.Parse.Result do
@moduledoc false
alias BinStruct.Macro.Bind
alias BinStruct.Macro.Structs.Field
def return_ok_tuple(fields, context) do
rest_bind = { :rest, [], context }
options_bind = { :options, [], context }
tuple_fields =
Enum.map(
fields,
fn field ->
%Field{ name: name } = field
Bind.bind_unmanaged_value(name, context)
end
)
quote do
{ :ok, unquote_splicing(tuple_fields), unquote(rest_bind), unquote(options_bind) }
end
end
end