Current section
Files
Jump to
Current section
Files
src/webls@atom.erl
-module(webls@atom).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/webls/atom.gleam").
-export([to_string/1, plain_text/1, html/1, xhtml/1, link/1, with_link_rel/2, with_link_content_type/2, with_link_hreflang/2, with_link_title/2, with_link_length/2, category/1, with_category_scheme/2, with_category_label/2, person/1, with_person_email/2, with_person_uri/2, feed/3, entry/3, with_entry_id/2, with_entry_title/2, with_entry_updated/2, with_entry_authors/2, with_entry_content/2, with_entry_link/2, with_entry_summary/2, with_entry_categories/2, with_entry_contributors/2, with_entry_published/2, with_entry_rights/2, with_entry_source/2, with_feed_author/2, with_feed_authors/2, with_feed_link/2, with_feed_category/2, with_feed_categories/2, with_feed_contributor/2, with_feed_contributors/2, with_feed_generator/2, with_feed_icon/2, with_feed_logo/2, with_feed_rights/2, with_feed_subtitle/2, with_feed_entry/2, with_feed_entries/2]).
-export_type([atom_feed/0, person/0, generator/0, link/0, category/0, atom_entry/0, text/0, source/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-type atom_feed() :: {atom_feed,
binary(),
text(),
gleam@time@timestamp:timestamp(),
list(person()),
gleam@option:option(link()),
list(category()),
list(person()),
gleam@option:option(generator()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(text()),
gleam@option:option(binary()),
list(atom_entry())}.
-type person() :: {person,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type generator() :: {generator,
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type link() :: {link,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(integer())}.
-type category() :: {category,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type atom_entry() :: {atom_entry,
binary(),
text(),
gleam@time@timestamp:timestamp(),
list(person()),
gleam@option:option(text()),
gleam@option:option(link()),
gleam@option:option(text()),
list(category()),
list(person()),
gleam@option:option(gleam@time@timestamp:timestamp()),
gleam@option:option(text()),
gleam@option:option(source())}.
-type text() :: {plain_text, binary()} | {html, binary()} | {x_html, binary()}.
-type source() :: {source, binary(), binary(), gleam@time@timestamp:timestamp()}.
-file("src/webls/atom.gleam", 115).
-spec person_to_string(person()) -> binary().
person_to_string(Person) ->
<<<<<<<<<<<<"<author>\n"/utf8, "<name>"/utf8>>/binary,
(erlang:element(2, Person))/binary>>/binary,
"</name>\n"/utf8>>/binary,
(case erlang:element(3, Person) of
{some, Email} ->
<<<<"<email>"/utf8, Email/binary>>/binary,
"</email>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(4, Person) of
{some, Uri} ->
<<<<"<uri>"/utf8, Uri/binary>>/binary, "</uri>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
"</author>\n"/utf8>>.
-file("src/webls/atom.gleam", 131).
-spec link_to_string(link()) -> binary().
link_to_string(Link) ->
<<<<<<<<<<<<<<<<"<link href=\""/utf8, (erlang:element(2, Link))/binary>>/binary,
"\""/utf8>>/binary,
(case erlang:element(3, Link) of
{some, Rel} ->
<<<<" rel=\""/utf8, Rel/binary>>/binary,
"\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(4, Link) of
{some, Content_type} ->
<<<<" type=\""/utf8, Content_type/binary>>/binary,
"\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(5, Link) of
{some, Hreflang} ->
<<<<" hreflang=\""/utf8, Hreflang/binary>>/binary,
"\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(6, Link) of
{some, Title} ->
<<<<" title=\""/utf8, Title/binary>>/binary, "\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(7, Link) of
{some, Length} ->
<<<<" length=\""/utf8,
(erlang:integer_to_binary(Length))/binary>>/binary,
"\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
"/>\n"/utf8>>.
-file("src/webls/atom.gleam", 158).
-spec category_to_string(category()) -> binary().
category_to_string(Category) ->
<<<<<<<<<<"<category term=\""/utf8, (erlang:element(2, Category))/binary>>/binary,
"\""/utf8>>/binary,
(case erlang:element(3, Category) of
{some, Scheme} ->
<<<<" scheme=\""/utf8, Scheme/binary>>/binary,
"\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(4, Category) of
{some, Label} ->
<<<<" label=\""/utf8, Label/binary>>/binary, "\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
"/>\n"/utf8>>.
-file("src/webls/atom.gleam", 173).
-spec generator_to_string(generator()) -> binary().
generator_to_string(Generator) ->
<<<<<<"<generator"/utf8, (case erlang:element(2, Generator) of
{some, Uri} ->
<<<<" uri=\""/utf8, Uri/binary>>/binary, "\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary, (case erlang:element(3, Generator) of
{some, Version} ->
<<<<" version=\""/utf8, Version/binary>>/binary, "\""/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary, ">webls</generator>\n"/utf8>>.
-file("src/webls/atom.gleam", 186).
-spec source_to_string(source()) -> binary().
source_to_string(Source) ->
<<<<<<<<<<<<<<<<<<<<"<source>\n"/utf8, "<id>"/utf8>>/binary,
(erlang:element(2, Source))/binary>>/binary,
"</id>\n"/utf8>>/binary,
"<title>"/utf8>>/binary,
(erlang:element(3, Source))/binary>>/binary,
"</title>\n"/utf8>>/binary,
"<updated>"/utf8>>/binary,
(gleam@time@timestamp:to_rfc3339(
erlang:element(4, Source),
{duration, 0, 0}
))/binary>>/binary,
"</updated>\n"/utf8>>/binary,
"</source>\n"/utf8>>.
-file("src/webls/atom.gleam", 200).
-spec text_to_string(text()) -> binary().
text_to_string(Text) ->
case Text of
{plain_text, Value} ->
Value;
{html, Value@1} ->
<<<<"<type=\"html\">"/utf8, Value@1/binary>>/binary,
"</type>"/utf8>>;
{x_html, Value@2} ->
<<<<"<type=\"xhtml\">"/utf8, Value@2/binary>>/binary,
"</type>"/utf8>>
end.
-file("src/webls/atom.gleam", 65).
-spec atom_entry_to_string(atom_entry()) -> binary().
atom_entry_to_string(Entry) ->
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<entry>\n"/utf8, "<id>"/utf8>>/binary,
(erlang:element(
2,
Entry
))/binary>>/binary,
"</id>\n"/utf8>>/binary,
"<title>"/utf8>>/binary,
(text_to_string(
erlang:element(
3,
Entry
)
))/binary>>/binary,
"</title>\n"/utf8>>/binary,
"<updated>"/utf8>>/binary,
(gleam@time@timestamp:to_rfc3339(
erlang:element(4, Entry),
{duration, 0, 0}
))/binary>>/binary,
"</updated>\n"/utf8>>/binary,
(begin
_pipe = gleam@list:map(
erlang:element(5, Entry),
fun person_to_string/1
),
_pipe@1 = gleam@list:reduce(
_pipe,
fun(Acc, Author) ->
<<Acc/binary,
Author/binary>>
end
),
gleam@result:unwrap(
_pipe@1,
<<""/utf8>>
)
end)/binary>>/binary,
(case erlang:element(6, Entry) of
{some, Content} ->
<<<<"<content>"/utf8,
(text_to_string(Content))/binary>>/binary,
"</content>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(7, Entry) of
{some, Link} ->
link_to_string(Link);
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(8, Entry) of
{some, Summary} ->
<<<<"<summary>"/utf8,
(text_to_string(Summary))/binary>>/binary,
"</summary>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(begin
_pipe@2 = gleam@list:map(
erlang:element(9, Entry),
fun category_to_string/1
),
_pipe@3 = gleam@list:reduce(
_pipe@2,
fun(Acc@1, Category) ->
<<Acc@1/binary, Category/binary>>
end
),
gleam@result:unwrap(_pipe@3, <<""/utf8>>)
end)/binary>>/binary,
(begin
_pipe@4 = gleam@list:map(
erlang:element(10, Entry),
fun person_to_string/1
),
_pipe@5 = gleam@list:reduce(
_pipe@4,
fun(Acc@2, Contributor) ->
<<Acc@2/binary, Contributor/binary>>
end
),
gleam@result:unwrap(_pipe@5, <<""/utf8>>)
end)/binary>>/binary,
(case erlang:element(11, Entry) of
{some, Published} ->
<<<<"<published>"/utf8,
(gleam@time@timestamp:to_rfc3339(
Published,
{duration, 0, 0}
))/binary>>/binary,
"</published>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(12, Entry) of
{some, Rights} ->
<<<<"<rights>"/utf8, (text_to_string(Rights))/binary>>/binary,
"</rights>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(13, Entry) of
{some, Source} ->
source_to_string(Source);
none ->
<<""/utf8>>
end)/binary>>/binary,
"</entry>\n"/utf8>>.
-file("src/webls/atom.gleam", 17).
-spec atom_feed_to_string(atom_feed()) -> binary().
atom_feed_to_string(Feed) ->
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"\n<id>"/utf8,
(erlang:element(
2,
Feed
))/binary>>/binary,
"</id>\n"/utf8>>/binary,
"<title>"/utf8>>/binary,
(text_to_string(
erlang:element(
3,
Feed
)
))/binary>>/binary,
"</title>\n"/utf8>>/binary,
"<updated>"/utf8>>/binary,
(gleam@time@timestamp:to_rfc3339(
erlang:element(4, Feed),
{duration, 0, 0}
))/binary>>/binary,
"</updated>\n"/utf8>>/binary,
(begin
_pipe = gleam@list:map(
erlang:element(5, Feed),
fun person_to_string/1
),
_pipe@1 = gleam@list:reduce(
_pipe,
fun(Acc, Author) ->
<<Acc/binary,
Author/binary>>
end
),
gleam@result:unwrap(
_pipe@1,
<<""/utf8>>
)
end)/binary>>/binary,
(case erlang:element(6, Feed) of
{some, Link} ->
link_to_string(Link);
none ->
<<""/utf8>>
end)/binary>>/binary,
(begin
_pipe@2 = gleam@list:map(
erlang:element(7, Feed),
fun category_to_string/1
),
_pipe@3 = gleam@list:reduce(
_pipe@2,
fun(Acc@1, Category) ->
<<Acc@1/binary,
Category/binary>>
end
),
gleam@result:unwrap(
_pipe@3,
<<""/utf8>>
)
end)/binary>>/binary,
(begin
_pipe@4 = gleam@list:map(
erlang:element(8, Feed),
fun person_to_string/1
),
_pipe@5 = gleam@list:reduce(
_pipe@4,
fun(Acc@2, Contributor) ->
<<Acc@2/binary, Contributor/binary>>
end
),
gleam@result:unwrap(_pipe@5, <<""/utf8>>)
end)/binary>>/binary,
(case erlang:element(9, Feed) of
{some, Generator} ->
generator_to_string(Generator);
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(10, Feed) of
{some, Icon} ->
<<<<"<icon>"/utf8, Icon/binary>>/binary,
"</icon>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(11, Feed) of
{some, Logo} ->
<<<<"<logo>"/utf8, Logo/binary>>/binary,
"</logo>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(12, Feed) of
{some, Rights} ->
<<<<"<rights>"/utf8, (text_to_string(Rights))/binary>>/binary,
"</rights>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(13, Feed) of
{some, Subtitle} ->
<<<<"<subtitle>"/utf8, Subtitle/binary>>/binary,
"</subtitle>\n"/utf8>>;
none ->
<<""/utf8>>
end)/binary>>/binary,
(begin
_pipe@6 = gleam@list:map(
erlang:element(14, Feed),
fun atom_entry_to_string/1
),
_pipe@7 = gleam@list:reduce(
_pipe@6,
fun(Acc@3, Entry) -> <<Acc@3/binary, Entry/binary>> end
),
gleam@result:unwrap(_pipe@7, <<""/utf8>>)
end)/binary>>.
-file("src/webls/atom.gleam", 11).
?DOC(" Converts an Atom feed to a string of a valid Atom 1.0 feed\n").
-spec to_string(atom_feed()) -> binary().
to_string(Feed) ->
<<<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<feed xmlns=\"http://www.w3.org/2005/Atom\">"/utf8,
(atom_feed_to_string(Feed))/binary>>/binary,
"</feed>"/utf8>>.
-file("src/webls/atom.gleam", 211).
?DOC(" Creates plain text content\n").
-spec plain_text(binary()) -> text().
plain_text(Input) ->
{plain_text, Input}.
-file("src/webls/atom.gleam", 216).
?DOC(" Creates HTML text content\n").
-spec html(binary()) -> text().
html(Input) ->
{html, Input}.
-file("src/webls/atom.gleam", 221).
?DOC(" Creates XHTML text content\n").
-spec xhtml(binary()) -> text().
xhtml(Input) ->
{x_html, Input}.
-file("src/webls/atom.gleam", 226).
?DOC(" Creates a base link with just the href\n").
-spec link(binary()) -> link().
link(Href) ->
{link, Href, none, none, none, none, none}.
-file("src/webls/atom.gleam", 238).
?DOC(" Sets the relationship type of the link\n").
-spec with_link_rel(link(), binary()) -> link().
with_link_rel(Link, Rel) ->
{link,
erlang:element(2, Link),
{some, Rel},
erlang:element(4, Link),
erlang:element(5, Link),
erlang:element(6, Link),
erlang:element(7, Link)}.
-file("src/webls/atom.gleam", 243).
?DOC(" Sets the content type of the link\n").
-spec with_link_content_type(link(), binary()) -> link().
with_link_content_type(Link, Content_type) ->
{link,
erlang:element(2, Link),
erlang:element(3, Link),
{some, Content_type},
erlang:element(5, Link),
erlang:element(6, Link),
erlang:element(7, Link)}.
-file("src/webls/atom.gleam", 248).
?DOC(" Sets the language of the linked resource\n").
-spec with_link_hreflang(link(), binary()) -> link().
with_link_hreflang(Link, Hreflang) ->
{link,
erlang:element(2, Link),
erlang:element(3, Link),
erlang:element(4, Link),
{some, Hreflang},
erlang:element(6, Link),
erlang:element(7, Link)}.
-file("src/webls/atom.gleam", 253).
?DOC(" Sets the title of the link\n").
-spec with_link_title(link(), binary()) -> link().
with_link_title(Link, Title) ->
{link,
erlang:element(2, Link),
erlang:element(3, Link),
erlang:element(4, Link),
erlang:element(5, Link),
{some, Title},
erlang:element(7, Link)}.
-file("src/webls/atom.gleam", 258).
?DOC(" Sets the length in bytes of the linked resource\n").
-spec with_link_length(link(), integer()) -> link().
with_link_length(Link, Length) ->
{link,
erlang:element(2, Link),
erlang:element(3, Link),
erlang:element(4, Link),
erlang:element(5, Link),
erlang:element(6, Link),
{some, Length}}.
-file("src/webls/atom.gleam", 263).
?DOC(" Creates a base category with just the term\n").
-spec category(binary()) -> category().
category(Term) ->
{category, Term, none, none}.
-file("src/webls/atom.gleam", 268).
?DOC(" Sets the categorization scheme URI for the category\n").
-spec with_category_scheme(category(), binary()) -> category().
with_category_scheme(Category, Scheme) ->
{category,
erlang:element(2, Category),
{some, Scheme},
erlang:element(4, Category)}.
-file("src/webls/atom.gleam", 273).
?DOC(" Sets the human-readable label for the category\n").
-spec with_category_label(category(), binary()) -> category().
with_category_label(Category, Label) ->
{category,
erlang:element(2, Category),
erlang:element(3, Category),
{some, Label}}.
-file("src/webls/atom.gleam", 278).
?DOC(" Creates a base person with just the name\n").
-spec person(binary()) -> person().
person(Name) ->
{person, Name, none, none}.
-file("src/webls/atom.gleam", 283).
?DOC(" Sets the email address of the person\n").
-spec with_person_email(person(), binary()) -> person().
with_person_email(Person, Email) ->
{person,
erlang:element(2, Person),
{some, Email},
erlang:element(4, Person)}.
-file("src/webls/atom.gleam", 288).
?DOC(" Sets the URI associated with the person\n").
-spec with_person_uri(person(), binary()) -> person().
with_person_uri(Person, Uri) ->
{person, erlang:element(2, Person), erlang:element(3, Person), {some, Uri}}.
-file("src/webls/atom.gleam", 293).
?DOC(" Creates a base Atom feed with required fields\n").
-spec feed(binary(), text(), gleam@time@timestamp:timestamp()) -> atom_feed().
feed(Id, Title, Updated) ->
{atom_feed,
Id,
Title,
Updated,
[],
none,
[],
[],
none,
none,
none,
none,
none,
[]}.
-file("src/webls/atom.gleam", 312).
?DOC(" Creates a base Atom entry with required fields\n").
-spec entry(binary(), text(), gleam@time@timestamp:timestamp()) -> atom_entry().
entry(Id, Title, Updated) ->
{atom_entry,
Id,
Title,
Updated,
[],
none,
none,
none,
[],
[],
none,
none,
none}.
-file("src/webls/atom.gleam", 330).
?DOC(" Sets the unique identifier of the entry\n").
-spec with_entry_id(atom_entry(), binary()) -> atom_entry().
with_entry_id(Entry, Id) ->
{atom_entry,
Id,
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 335).
?DOC(" Sets the title of the entry\n").
-spec with_entry_title(atom_entry(), text()) -> atom_entry().
with_entry_title(Entry, Title) ->
{atom_entry,
erlang:element(2, Entry),
Title,
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 340).
?DOC(" Sets the last updated timestamp of the entry\n").
-spec with_entry_updated(atom_entry(), gleam@time@timestamp:timestamp()) -> atom_entry().
with_entry_updated(Entry, Updated) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
Updated,
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 345).
?DOC(" Adds a list of authors to the entry\n").
-spec with_entry_authors(atom_entry(), list(person())) -> atom_entry().
with_entry_authors(Entry, Authors) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
lists:append([erlang:element(5, Entry), Authors]),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 350).
?DOC(" Sets the content of the entry\n").
-spec with_entry_content(atom_entry(), text()) -> atom_entry().
with_entry_content(Entry, Content) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
{some, Content},
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 355).
?DOC(" Sets the link of the entry\n").
-spec with_entry_link(atom_entry(), link()) -> atom_entry().
with_entry_link(Entry, Link) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
{some, Link},
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 360).
?DOC(" Sets the summary of the entry\n").
-spec with_entry_summary(atom_entry(), text()) -> atom_entry().
with_entry_summary(Entry, Summary) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
{some, Summary},
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 365).
?DOC(" Adds a list of categories to the entry\n").
-spec with_entry_categories(atom_entry(), list(category())) -> atom_entry().
with_entry_categories(Entry, Categories) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
lists:append([erlang:element(9, Entry), Categories]),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 373).
?DOC(" Adds a list of contributors to the entry\n").
-spec with_entry_contributors(atom_entry(), list(person())) -> atom_entry().
with_entry_contributors(Entry, Contributors) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
lists:append([erlang:element(10, Entry), Contributors]),
erlang:element(11, Entry),
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 384).
?DOC(" Sets the publication date of the entry\n").
-spec with_entry_published(atom_entry(), gleam@time@timestamp:timestamp()) -> atom_entry().
with_entry_published(Entry, Published) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
{some, Published},
erlang:element(12, Entry),
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 389).
?DOC(" Sets the rights information of the entry\n").
-spec with_entry_rights(atom_entry(), text()) -> atom_entry().
with_entry_rights(Entry, Rights) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
{some, Rights},
erlang:element(13, Entry)}.
-file("src/webls/atom.gleam", 394).
?DOC(" Sets the source feed of the entry\n").
-spec with_entry_source(atom_entry(), source()) -> atom_entry().
with_entry_source(Entry, Source) ->
{atom_entry,
erlang:element(2, Entry),
erlang:element(3, Entry),
erlang:element(4, Entry),
erlang:element(5, Entry),
erlang:element(6, Entry),
erlang:element(7, Entry),
erlang:element(8, Entry),
erlang:element(9, Entry),
erlang:element(10, Entry),
erlang:element(11, Entry),
erlang:element(12, Entry),
{some, Source}}.
-file("src/webls/atom.gleam", 399).
?DOC(" Adds an author to the feed\n").
-spec with_feed_author(atom_feed(), person()) -> atom_feed().
with_feed_author(Feed, Author) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
[Author | erlang:element(5, Feed)],
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 404).
?DOC(" Adds a list of authors to the feed\n").
-spec with_feed_authors(atom_feed(), list(person())) -> atom_feed().
with_feed_authors(Feed, Authors) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
lists:append([erlang:element(5, Feed), Authors]),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 409).
?DOC(" Sets the link of the feed\n").
-spec with_feed_link(atom_feed(), link()) -> atom_feed().
with_feed_link(Feed, Link) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
{some, Link},
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 414).
?DOC(" Adds a category to the feed\n").
-spec with_feed_category(atom_feed(), category()) -> atom_feed().
with_feed_category(Feed, Category) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
[Category | erlang:element(7, Feed)],
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 419).
?DOC(" Adds a list of categories to the feed\n").
-spec with_feed_categories(atom_feed(), list(category())) -> atom_feed().
with_feed_categories(Feed, Categories) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
lists:append([erlang:element(7, Feed), Categories]),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 427).
?DOC(" Adds a contributor to the feed\n").
-spec with_feed_contributor(atom_feed(), person()) -> atom_feed().
with_feed_contributor(Feed, Contributor) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
[Contributor | erlang:element(8, Feed)],
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 432).
?DOC(" Adds a list of contributors to the feed\n").
-spec with_feed_contributors(atom_feed(), list(person())) -> atom_feed().
with_feed_contributors(Feed, Contributors) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
lists:append([erlang:element(8, Feed), Contributors]),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 443).
?DOC(" Sets the generator of the feed\n").
-spec with_feed_generator(atom_feed(), generator()) -> atom_feed().
with_feed_generator(Feed, Generator) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
{some, Generator},
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 448).
?DOC(" Sets the icon URL of the feed\n").
-spec with_feed_icon(atom_feed(), binary()) -> atom_feed().
with_feed_icon(Feed, Icon) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
{some, Icon},
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 453).
?DOC(" Sets the logo URL of the feed\n").
-spec with_feed_logo(atom_feed(), binary()) -> atom_feed().
with_feed_logo(Feed, Logo) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
{some, Logo},
erlang:element(12, Feed),
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 458).
?DOC(" Sets the rights information of the feed\n").
-spec with_feed_rights(atom_feed(), text()) -> atom_feed().
with_feed_rights(Feed, Rights) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
{some, Rights},
erlang:element(13, Feed),
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 463).
?DOC(" Sets the subtitle of the feed\n").
-spec with_feed_subtitle(atom_feed(), binary()) -> atom_feed().
with_feed_subtitle(Feed, Subtitle) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
{some, Subtitle},
erlang:element(14, Feed)}.
-file("src/webls/atom.gleam", 468).
?DOC(" Adds an entry to the feed\n").
-spec with_feed_entry(atom_feed(), atom_entry()) -> atom_feed().
with_feed_entry(Feed, Entry) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
[Entry | erlang:element(14, Feed)]}.
-file("src/webls/atom.gleam", 473).
?DOC(" Adds a list of entries to the feed\n").
-spec with_feed_entries(atom_feed(), list(atom_entry())) -> atom_feed().
with_feed_entries(Feed, Entries) ->
{atom_feed,
erlang:element(2, Feed),
erlang:element(3, Feed),
erlang:element(4, Feed),
erlang:element(5, Feed),
erlang:element(6, Feed),
erlang:element(7, Feed),
erlang:element(8, Feed),
erlang:element(9, Feed),
erlang:element(10, Feed),
erlang:element(11, Feed),
erlang:element(12, Feed),
erlang:element(13, Feed),
lists:append([erlang:element(14, Feed), Entries])}.