-module(webls@rss).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/webls/rss.gleam").
-export([to_string/1, channel/3, with_channel_language/2, with_channel_copyright/2, with_channel_managing_editor/2, with_channel_web_master/2, with_channel_pub_date/2, with_channel_last_build_date/2, with_channel_category/2, with_channel_categories/2, with_channel_custom_generator/2, with_channel_generator/1, with_channel_docs/1, with_channel_cloud/2, with_channel_ttl/2, with_channel_image/2, with_channel_text_input/2, with_channel_skip_hours/2, with_channel_skip_days/2, with_channel_items/2, with_channel_item/2, item/2, with_item_link/2, with_item_author/2, with_item_categories/2, with_item_comments/2, with_item_enclosure/2, with_item_guid/2, with_item_pub_date/2, with_item_source/2]).
-export_type([rss_channel/0, image/0, cloud/0, text_input/0, enclosure/0, rss_item/0, weekday/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 rss_channel() :: {rss_channel,
binary(),
binary(),
binary(),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(gleam@time@timestamp:timestamp()),
gleam@option:option(gleam@time@timestamp:timestamp()),
list(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(cloud()),
gleam@option:option(integer()),
gleam@option:option(image()),
gleam@option:option(text_input()),
list(integer()),
list(weekday()),
list(rss_item())}.
-type image() :: {image,
binary(),
binary(),
binary(),
gleam@option:option(binary()),
gleam@option:option(integer()),
gleam@option:option(integer())}.
-type cloud() :: {cloud, binary(), integer(), binary(), binary(), binary()}.
-type text_input() :: {text_input, binary(), binary(), binary(), binary()}.
-type enclosure() :: {enclosure, binary(), integer(), binary()}.
-type rss_item() :: {rss_item,
binary(),
binary(),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(gleam@time@timestamp:timestamp()),
list(binary()),
gleam@option:option(enclosure()),
gleam@option:option({binary(), gleam@option:option(boolean())})}.
-type weekday() :: monday |
tuesday |
wednesday |
thursday |
friday |
saturday |
sunday.
-file("src/webls/rss.gleam", 240).
?DOC(" Converts a timestamp to an RFC 822 date string as required by the RSS 2.0 spec\n").
-spec timestamp_to_rfc822(gleam@time@timestamp:timestamp()) -> binary().
timestamp_to_rfc822(Ts) ->
_pipe = Ts,
_pipe@1 = tempo@datetime:from_timestamp(_pipe),
tempo@datetime:format(_pipe@1, h_t_t_p).
-file("src/webls/rss.gleam", 175).
-spec rss_item_to_string(rss_item()) -> binary().
rss_item_to_string(Item) ->
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"- \n"/utf8, ""/utf8>>/binary,
(erlang:element(
2,
Item
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(3, Item))/binary>>/binary,
"\n"/utf8>>/binary,
(case erlang:element(4, Item) of
{some, Link} ->
<<<<""/utf8, Link/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(5, Item) of
{some, Author} ->
<<<<""/utf8, Author/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(6, Item) of
{some, Comments} ->
<<<<""/utf8, Comments/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(7, Item) of
{some, Source} ->
<<<<""/utf8, Source/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(8, Item) of
{some, Pub_date} ->
<<<<""/utf8,
(begin
_pipe = Pub_date,
timestamp_to_rfc822(_pipe)
end)/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(begin
_pipe@1 = erlang:element(9, Item),
_pipe@2 = gleam@list:map(
_pipe@1,
fun(Category) ->
<<<<""/utf8, Category/binary>>/binary,
"\n"/utf8>>
end
),
_pipe@3 = gleam@list:reduce(
_pipe@2,
fun(Acc, Category@1) ->
<>
end
),
gleam@result:unwrap(_pipe@3, <<""/utf8>>)
end)/binary>>/binary,
(case erlang:element(10, Item) of
{some, Enclosure} ->
<<<<<<<<<<<<">/binary,
"\" length=\""/utf8>>/binary,
(erlang:integer_to_binary(
erlang:element(3, Enclosure)
))/binary>>/binary,
"\" type=\""/utf8>>/binary,
(erlang:element(4, Enclosure))/binary>>/binary,
"\"/>\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(11, Item) of
{some, Guid} ->
case Guid of
{Guid@1, {some, Is_permalink}} ->
<<<<<<<<"
<<"true"/utf8>>;
false ->
<<"false"/utf8>>
end)/binary>>/binary,
"\">"/utf8>>/binary,
Guid@1/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end;
_ ->
<<""/utf8>>
end)/binary>>/binary,
"
"/utf8>>.
-file("src/webls/rss.gleam", 246).
-spec weekday_to_string(weekday()) -> binary().
weekday_to_string(Weekday) ->
case Weekday of
monday ->
<<"Monday"/utf8>>;
tuesday ->
<<"Tuesday"/utf8>>;
wednesday ->
<<"Wednesday"/utf8>>;
thursday ->
<<"Thursday"/utf8>>;
friday ->
<<"Friday"/utf8>>;
saturday ->
<<"Saturday"/utf8>>;
sunday ->
<<"Sunday"/utf8>>
end.
-file("src/webls/rss.gleam", 24).
-spec rss_channel_to_string(rss_channel()) -> binary().
rss_channel_to_string(Channel) ->
Channel_items = begin
_pipe = erlang:element(20, Channel),
_pipe@2 = gleam@list:map(_pipe, fun(Rss_item) -> _pipe@1 = Rss_item,
rss_item_to_string(_pipe@1) end),
_pipe@3 = gleam@list:reduce(
_pipe@2,
fun(Acc, Rss_item_string) ->
<<<>/binary, Rss_item_string/binary>>
end
),
gleam@result:unwrap(_pipe@3, <<""/utf8>>)
end,
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"\n\n"/utf8,
""/utf8>>/binary,
(erlang:element(
2,
Channel
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(
3,
Channel
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(
4,
Channel
))/binary>>/binary,
"\n"/utf8>>/binary,
(case erlang:element(
5,
Channel
) of
{some,
Language} ->
<<<<""/utf8,
Language/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(
6,
Channel
) of
{some,
Copyright} ->
<<<<""/utf8,
Copyright/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(
7,
Channel
) of
{some,
Managing_editor} ->
<<<<""/utf8,
Managing_editor/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(
8,
Channel
) of
{some,
Web_master} ->
<<<<""/utf8,
Web_master/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(
9,
Channel
) of
{some, Pub_date} ->
<<<<""/utf8,
(begin
_pipe@4 = Pub_date,
timestamp_to_rfc822(
_pipe@4
)
end)/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(
10,
Channel
) of
{some, Last_build_date} ->
<<<<""/utf8,
(begin
_pipe@5 = Last_build_date,
timestamp_to_rfc822(
_pipe@5
)
end)/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(begin
_pipe@6 = erlang:element(
11,
Channel
),
_pipe@7 = gleam@list:map(
_pipe@6,
fun(Category) ->
<<<<""/utf8,
Category/binary>>/binary,
"\n"/utf8>>
end
),
_pipe@8 = gleam@list:reduce(
_pipe@7,
fun(Acc@1, Category@1) ->
<>
end
),
gleam@result:unwrap(
_pipe@8,
<<""/utf8>>
)
end)/binary>>/binary,
(case erlang:element(12, Channel) of
{some, Generator} ->
<<<<""/utf8,
Generator/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(13, Channel) of
{some, Docs} ->
<<<<""/utf8, Docs/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(14, Channel) of
{some, Cloud} ->
<<<<<<<<<<<<<<<<<<<<">/binary,
"\" port=\""/utf8>>/binary,
(erlang:integer_to_binary(
erlang:element(
3,
Cloud
)
))/binary>>/binary,
"\" path=\""/utf8>>/binary,
(erlang:element(
4,
Cloud
))/binary>>/binary,
"\" registerProcedure=\""/utf8>>/binary,
(erlang:element(
5,
Cloud
))/binary>>/binary,
"\" protocol=\""/utf8>>/binary,
(erlang:element(6, Cloud))/binary>>/binary,
"\"/>\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(15, Channel) of
{some, Ttl} ->
<<<<""/utf8,
(erlang:integer_to_binary(Ttl))/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(16, Channel) of
{some, Image} ->
<<<<<<<<<<<<<<<<<<<<<<<<<<""/utf8,
""/utf8>>/binary,
(erlang:element(
2,
Image
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(
3,
Image
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(
4,
Image
))/binary>>/binary,
"\n"/utf8>>/binary,
(case erlang:element(
5,
Image
) of
{some, Description} ->
<<<<""/utf8,
Description/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(6, Image) of
{some, Width} ->
<<<<""/utf8,
(erlang:integer_to_binary(
Width
))/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(7, Image) of
{some, Height} ->
<<<<""/utf8,
(erlang:integer_to_binary(
Height
))/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case erlang:element(17, Channel) of
{some, Text_input} ->
<<<<<<<<<<<<<<<<<<<<<<<<<<""/utf8,
""/utf8>>/binary,
(erlang:element(
2,
Text_input
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(
3,
Text_input
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(
4,
Text_input
))/binary>>/binary,
"\n"/utf8>>/binary,
""/utf8>>/binary,
(erlang:element(5, Text_input))/binary>>/binary,
"\n"/utf8>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case begin
_pipe@9 = erlang:element(18, Channel),
erlang:length(_pipe@9)
end
> 0 of
true ->
<<<<""/utf8,
(begin
_pipe@10 = gleam@list:map(
erlang:element(18, Channel),
fun(Hour) ->
<<<<""/utf8,
(erlang:integer_to_binary(
Hour
))/binary>>/binary,
""/utf8>>
end
),
_pipe@11 = gleam@list:reduce(
_pipe@10,
fun(Acc@2, Hour@1) ->
<<<>/binary,
Hour@1/binary>>
end
),
gleam@result:unwrap(
_pipe@11,
<<""/utf8>>
)
end)/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
(case begin
_pipe@12 = erlang:element(19, Channel),
erlang:length(_pipe@12)
end
> 0 of
true ->
<<<<""/utf8,
(begin
_pipe@14 = gleam@list:map(
erlang:element(19, Channel),
fun(Day) ->
<<<<""/utf8,
(begin
_pipe@13 = Day,
weekday_to_string(
_pipe@13
)
end)/binary>>/binary,
""/utf8>>
end
),
_pipe@15 = gleam@list:reduce(
_pipe@14,
fun(Acc@3, Day@1) ->
<<<>/binary,
Day@1/binary>>
end
),
gleam@result:unwrap(_pipe@15, <<""/utf8>>)
end)/binary>>/binary,
"\n"/utf8>>;
_ ->
<<""/utf8>>
end)/binary>>/binary,
Channel_items/binary>>/binary,
""/utf8>>.
-file("src/webls/rss.gleam", 12).
?DOC(" Converts a list of RSS channels to a string of a valid RSS 2.0.1 feed\n").
-spec to_string(list(rss_channel())) -> binary().
to_string(Channels) ->
Channel_content = begin
_pipe = Channels,
_pipe@2 = gleam@list:map(_pipe, fun(Channel) -> _pipe@1 = Channel,
rss_channel_to_string(_pipe@1) end),
_pipe@3 = gleam@list:reduce(
_pipe@2,
fun(Acc, Channel_string) ->
<<<>/binary, Channel_string/binary>>
end
),
gleam@result:unwrap(_pipe@3, <<""/utf8>>)
end,
<<<<"\n"/utf8,
Channel_content/binary>>/binary,
"\n"/utf8>>.
-file("src/webls/rss.gleam", 261).
?DOC(" Creates a base RSS channel\n").
-spec channel(binary(), binary(), binary()) -> rss_channel().
channel(Title, Description, Link) ->
{rss_channel,
Title,
Link,
Description,
none,
none,
none,
none,
none,
none,
[],
none,
none,
none,
none,
none,
none,
[],
[],
[]}.
-file("src/webls/rss.gleam", 286).
?DOC(" Sets the language of the RSS channel example: \"en-us\"\n").
-spec with_channel_language(rss_channel(), binary()) -> rss_channel().
with_channel_language(Channel, Language) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
{some, Language},
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 294).
?DOC(" Sets the copyright information for the RSS channel\n").
-spec with_channel_copyright(rss_channel(), binary()) -> rss_channel().
with_channel_copyright(Channel, Copyright) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
{some, Copyright},
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 302).
?DOC(" Sets the managing editor's email address for the RSS channel\n").
-spec with_channel_managing_editor(rss_channel(), binary()) -> rss_channel().
with_channel_managing_editor(Channel, Managing_editor) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
{some, Managing_editor},
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 310).
?DOC(" Sets the web master's email address for the RSS channel\n").
-spec with_channel_web_master(rss_channel(), binary()) -> rss_channel().
with_channel_web_master(Channel, Web_master) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
{some, Web_master},
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 318).
?DOC(" Sets the publication date of the RSS channel\n").
-spec with_channel_pub_date(rss_channel(), gleam@time@timestamp:timestamp()) -> rss_channel().
with_channel_pub_date(Channel, Pub_date) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
{some, Pub_date},
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 326).
?DOC(" Sets the last build date of the RSS channel\n").
-spec with_channel_last_build_date(
rss_channel(),
gleam@time@timestamp:timestamp()
) -> rss_channel().
with_channel_last_build_date(Channel, Last_build_date) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
{some, Last_build_date},
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 334).
?DOC(" Adds a category to the RSS channel\n").
-spec with_channel_category(rss_channel(), binary()) -> rss_channel().
with_channel_category(Channel, Category) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
[Category | erlang:element(11, Channel)],
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 342).
?DOC(" Adds a list of categories to the RSS channel\n").
-spec with_channel_categories(rss_channel(), list(binary())) -> rss_channel().
with_channel_categories(Channel, Categories) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
lists:append([erlang:element(11, Channel), Categories]),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 353).
?DOC(" Sets the generator element for the RSS channel with a custom string\n").
-spec with_channel_custom_generator(rss_channel(), binary()) -> rss_channel().
with_channel_custom_generator(Channel, Generator) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
{some, Generator},
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 361).
?DOC(" Sets the generator element for the RSS channel to webls\n").
-spec with_channel_generator(rss_channel()) -> rss_channel().
with_channel_generator(Channel) ->
with_channel_custom_generator(Channel, <<"webls"/utf8>>).
-file("src/webls/rss.gleam", 366).
?DOC(" Adds the RSS 2.0.1 spec documentation link to the RSS channel\n").
-spec with_channel_docs(rss_channel()) -> rss_channel().
with_channel_docs(Channel) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
{some, <<"https://www.rssboard.org/rss-2-0-1"/utf8>>},
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 372).
?DOC(
" Sets the cloud element for the RSS channel with a domain, port, path,\n"
" register procedure, and protocol\n"
).
-spec with_channel_cloud(rss_channel(), cloud()) -> rss_channel().
with_channel_cloud(Channel, Cloud) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
{some, Cloud},
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 377).
?DOC(" Sets the time-to-live (TTL) for the RSS channel in minutes\n").
-spec with_channel_ttl(rss_channel(), integer()) -> rss_channel().
with_channel_ttl(Channel, Ttl) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
{some, Ttl},
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 382).
?DOC(" Sets an optional image associated with the RSS channel\n").
-spec with_channel_image(rss_channel(), image()) -> rss_channel().
with_channel_image(Channel, Image) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
{some, Image},
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 387).
?DOC(" Sets an optional text input for the RSS channel\n").
-spec with_channel_text_input(rss_channel(), text_input()) -> rss_channel().
with_channel_text_input(Channel, Text_input) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
{some, Text_input},
erlang:element(18, Channel),
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 395).
?DOC(" Sets a list of hours in GMT which content aggregation should be skipped\n").
-spec with_channel_skip_hours(rss_channel(), list(integer())) -> rss_channel().
with_channel_skip_hours(Channel, Skip_hours) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
Skip_hours,
erlang:element(19, Channel),
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 403).
?DOC(" Sets a list of days to skip in the RSS channel\n").
-spec with_channel_skip_days(rss_channel(), list(weekday())) -> rss_channel().
with_channel_skip_days(Channel, Skip_days) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
Skip_days,
erlang:element(20, Channel)}.
-file("src/webls/rss.gleam", 411).
?DOC(" Adds a list of items in the RSS channel\n").
-spec with_channel_items(rss_channel(), list(rss_item())) -> rss_channel().
with_channel_items(Channel, Items) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
lists:append([erlang:element(20, Channel), Items])}.
-file("src/webls/rss.gleam", 419).
?DOC(" Adds a RSS item to the RSS channel\n").
-spec with_channel_item(rss_channel(), rss_item()) -> rss_channel().
with_channel_item(Channel, Item) ->
{rss_channel,
erlang:element(2, Channel),
erlang:element(3, Channel),
erlang:element(4, Channel),
erlang:element(5, Channel),
erlang:element(6, Channel),
erlang:element(7, Channel),
erlang:element(8, Channel),
erlang:element(9, Channel),
erlang:element(10, Channel),
erlang:element(11, Channel),
erlang:element(12, Channel),
erlang:element(13, Channel),
erlang:element(14, Channel),
erlang:element(15, Channel),
erlang:element(16, Channel),
erlang:element(17, Channel),
erlang:element(18, Channel),
erlang:element(19, Channel),
[Item | erlang:element(20, Channel)]}.
-file("src/webls/rss.gleam", 424).
?DOC(" Creates a base RSS item\n").
-spec item(binary(), binary()) -> rss_item().
item(Title, Description) ->
{rss_item, Title, Description, none, none, none, none, none, [], none, none}.
-file("src/webls/rss.gleam", 440).
?DOC(" Sets the link to the page or source of the RSS item\n").
-spec with_item_link(rss_item(), binary()) -> rss_item().
with_item_link(Item, Link) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
{some, Link},
erlang:element(5, Item),
erlang:element(6, Item),
erlang:element(7, Item),
erlang:element(8, Item),
erlang:element(9, Item),
erlang:element(10, Item),
erlang:element(11, Item)}.
-file("src/webls/rss.gleam", 445).
?DOC(" Sets an optional author field, note RSS author must be email addresses\n").
-spec with_item_author(rss_item(), binary()) -> rss_item().
with_item_author(Item, Author) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
{some, Author},
erlang:element(6, Item),
erlang:element(7, Item),
erlang:element(8, Item),
erlang:element(9, Item),
erlang:element(10, Item),
erlang:element(11, Item)}.
-file("src/webls/rss.gleam", 450).
?DOC(" Sets a list of categories for the RSS item\n").
-spec with_item_categories(rss_item(), list(binary())) -> rss_item().
with_item_categories(Item, Categories) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
erlang:element(5, Item),
erlang:element(6, Item),
erlang:element(7, Item),
erlang:element(8, Item),
Categories,
erlang:element(10, Item),
erlang:element(11, Item)}.
-file("src/webls/rss.gleam", 455).
?DOC(" Sets a URL to the comments section for the RSS item\n").
-spec with_item_comments(rss_item(), binary()) -> rss_item().
with_item_comments(Item, Comments) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
erlang:element(5, Item),
{some, Comments},
erlang:element(7, Item),
erlang:element(8, Item),
erlang:element(9, Item),
erlang:element(10, Item),
erlang:element(11, Item)}.
-file("src/webls/rss.gleam", 460).
?DOC(" Sets an optional enclosure (media resource) for the RSS item\n").
-spec with_item_enclosure(rss_item(), enclosure()) -> rss_item().
with_item_enclosure(Item, Enclosure) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
erlang:element(5, Item),
erlang:element(6, Item),
erlang:element(7, Item),
erlang:element(8, Item),
erlang:element(9, Item),
{some, Enclosure},
erlang:element(11, Item)}.
-file("src/webls/rss.gleam", 465).
?DOC(" Sets the guid of the RSS item with an optional boolean for whether it is a permalink\n").
-spec with_item_guid(rss_item(), {binary(), gleam@option:option(boolean())}) -> rss_item().
with_item_guid(Item, Guid) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
erlang:element(5, Item),
erlang:element(6, Item),
erlang:element(7, Item),
erlang:element(8, Item),
erlang:element(9, Item),
erlang:element(10, Item),
{some, Guid}}.
-file("src/webls/rss.gleam", 470).
?DOC(" Sets the publication date of the RSS item\n").
-spec with_item_pub_date(rss_item(), gleam@time@timestamp:timestamp()) -> rss_item().
with_item_pub_date(Item, Pub_date) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
erlang:element(5, Item),
erlang:element(6, Item),
erlang:element(7, Item),
{some, Pub_date},
erlang:element(9, Item),
erlang:element(10, Item),
erlang:element(11, Item)}.
-file("src/webls/rss.gleam", 475).
?DOC(" Sets the RSS channel the item came from\n").
-spec with_item_source(rss_item(), binary()) -> rss_item().
with_item_source(Item, Source) ->
{rss_item,
erlang:element(2, Item),
erlang:element(3, Item),
erlang:element(4, Item),
erlang:element(5, Item),
erlang:element(6, Item),
{some, Source},
erlang:element(8, Item),
erlang:element(9, Item),
erlang:element(10, Item),
erlang:element(11, Item)}.