-module(webls@rss). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -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]). -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(birl:time()), gleam@option:option(birl:time()), 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(birl: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(birl:time()), list(binary()), gleam@option:option(enclosure()), gleam@option:option({binary(), gleam@option:option(boolean())})}. -file("src/webls/rss.gleam", 173). -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, birl:to_iso8601(_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, (gleam@int:to_string( 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", 22). -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, birl:to_iso8601( _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, birl:to_iso8601( _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, (gleam@int:to_string( 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, (gleam@int:to_string(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, (gleam@int:to_string( Width ))/binary>>/binary, "\n"/utf8>>; _ -> <<""/utf8>> end)/binary>>/binary, (case erlang:element(7, Image) of {some, Height} -> <<<<""/utf8, (gleam@int:to_string( 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, (gleam@int:to_string( 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, birl: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", 10). ?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", 240). ?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", 265). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), {some, Language}, erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 273). ?DOC(" Sets the copyright information for the RSS channel\n"). -spec with_channel_copyright(rss_channel(), binary()) -> rss_channel(). with_channel_copyright(Channel, Copyright) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), {some, Copyright}, erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 281). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), {some, Managing_editor}, erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 289). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), {some, Web_master}, erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 297). ?DOC(" Sets the publication date of the RSS channel\n"). -spec with_channel_pub_date(rss_channel(), birl:time()) -> rss_channel(). with_channel_pub_date(Channel, Pub_date) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), {some, Pub_date}, erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 302). ?DOC(" Sets the last build date of the RSS channel\n"). -spec with_channel_last_build_date(rss_channel(), birl:time()) -> rss_channel(). with_channel_last_build_date(Channel, Last_build_date) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), {some, Last_build_date}, erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 310). ?DOC(" Adds a category to the RSS channel\n"). -spec with_channel_category(rss_channel(), binary()) -> rss_channel(). with_channel_category(Channel, Category) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), [Category | erlang:element(11, Channel)], erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 318). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), gleam@list:flatten([erlang:element(11, Channel), Categories]), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 329). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), {some, Generator}, erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 337). ?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", 342). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), {some, <<"https://www.rssboard.org/rss-2-0-1"/utf8>>}, erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 348). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), {some, Cloud}, erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 353). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), {some, Ttl}, erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 358). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), {some, Image}, erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 363). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), {some, Text_input}, erlang:element(18, _record), erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 371). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), Skip_hours, erlang:element(19, _record), erlang:element(20, _record)}. -file("src/webls/rss.gleam", 379). ?DOC(" Sets a list of days to skip in the RSS channel\n"). -spec with_channel_skip_days(rss_channel(), list(birl:weekday())) -> rss_channel(). with_channel_skip_days(Channel, Skip_days) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), Skip_days, erlang:element(20, _record)}. -file("src/webls/rss.gleam", 387). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), gleam@list:flatten([erlang:element(20, Channel), Items])}. -file("src/webls/rss.gleam", 395). ?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) -> _record = Channel, {rss_channel, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record), erlang:element(12, _record), erlang:element(13, _record), erlang:element(14, _record), erlang:element(15, _record), erlang:element(16, _record), erlang:element(17, _record), erlang:element(18, _record), erlang:element(19, _record), [Item | erlang:element(20, Channel)]}. -file("src/webls/rss.gleam", 400). ?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", 416). ?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) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), {some, Link}, erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record)}. -file("src/webls/rss.gleam", 421). ?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) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), {some, Author}, erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record)}. -file("src/webls/rss.gleam", 426). ?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) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), Categories, erlang:element(10, _record), erlang:element(11, _record)}. -file("src/webls/rss.gleam", 431). ?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) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), {some, Comments}, erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record)}. -file("src/webls/rss.gleam", 436). ?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) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), {some, Enclosure}, erlang:element(11, _record)}. -file("src/webls/rss.gleam", 441). ?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) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), {some, Guid}}. -file("src/webls/rss.gleam", 446). ?DOC(" Sets the publication date of the RSS item\n"). -spec with_item_pub_date(rss_item(), birl:time()) -> rss_item(). with_item_pub_date(Item, Pub_date) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), erlang:element(7, _record), {some, Pub_date}, erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record)}. -file("src/webls/rss.gleam", 451). ?DOC(" Sets the RSS channel the item came from\n"). -spec with_item_source(rss_item(), binary()) -> rss_item(). with_item_source(Item, Source) -> _record = Item, {rss_item, erlang:element(2, _record), erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record), {some, Source}, erlang:element(8, _record), erlang:element(9, _record), erlang:element(10, _record), erlang:element(11, _record)}.