Current section
Files
Jump to
Current section
Files
src/builder.erl
-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}.