-module(builder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([new_builder/0, from_email/2, to_emails/2, subject/2, body/2, create/1]). -export_type([message_builder/0, message/0]). -type message_builder() :: {message_builder, gleam@option:option(binary()), gleam@option:option(list(binary())), gleam@option:option(binary()), gleam@option:option(binary())}. -type message() :: {message, binary(), list(binary()), binary(), binary()}. -file("/home/andre/Code/gleam/gsmtp/src/builder.gleam", 16). -spec new_builder() -> message_builder(). new_builder() -> {message_builder, none, none, none, none}. -file("/home/andre/Code/gleam/gsmtp/src/builder.gleam", 20). -spec from_email(message_builder(), binary()) -> message_builder(). from_email(Message, From) -> erlang:setelement(2, Message, {some, From}). -file("/home/andre/Code/gleam/gsmtp/src/builder.gleam", 24). -spec to_emails(message_builder(), list(binary())) -> message_builder(). to_emails(Message, To) -> erlang:setelement(3, Message, {some, To}). -file("/home/andre/Code/gleam/gsmtp/src/builder.gleam", 28). -spec subject(message_builder(), binary()) -> message_builder(). subject(Message, Subject) -> erlang:setelement(4, Message, {some, Subject}). -file("/home/andre/Code/gleam/gsmtp/src/builder.gleam", 32). -spec body(message_builder(), binary()) -> message_builder(). body(Message, Body) -> erlang:setelement(5, Message, {some, Body}). -file("/home/andre/Code/gleam/gsmtp/src/builder.gleam", 36). -spec create(message_builder()) -> message(). create(Message_builder) -> {message, begin _pipe = erlang:element(2, Message_builder), gleam@option:unwrap(_pipe, <<""/utf8>>) end, begin _pipe@1 = erlang:element(3, Message_builder), gleam@option:unwrap(_pipe@1, []) end, begin _pipe@2 = erlang:element(4, Message_builder), gleam@option:unwrap(_pipe@2, <<""/utf8>>) end, begin _pipe@3 = erlang:element(5, Message_builder), gleam@option:unwrap(_pipe@3, <<""/utf8>>) end}.