-module(gleetube@decoder@common_decoder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gleetube/decoder/common_decoder.gleam"). -export([thumbnail_decoder/0, thumbnails_decoder/0, localized_decoder/0, page_info_decoder/0, resource_id_decoder/0, player_decoder/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. -file("src/gleetube/decoder/common_decoder.gleam", 9). ?DOC(" Decoder for a Thumbnail.\n"). -spec thumbnail_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@common:thumbnail()). thumbnail_decoder() -> gleam@dynamic@decode:field( <<"url"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Url) -> gleam@dynamic@decode:optional_field( <<"width"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Width) -> gleam@dynamic@decode:optional_field( <<"height"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Height) -> gleam@dynamic@decode:success( {thumbnail, Url, Width, Height} ) end ) end ) end ). -file("src/gleetube/decoder/common_decoder.gleam", 25). ?DOC(" Decoder for a Thumbnails set.\n"). -spec thumbnails_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@common:thumbnails()). thumbnails_decoder() -> gleam@dynamic@decode:optional_field( <<"default"/utf8>>, none, gleam@dynamic@decode:optional(thumbnail_decoder()), fun(Default) -> gleam@dynamic@decode:optional_field( <<"medium"/utf8>>, none, gleam@dynamic@decode:optional(thumbnail_decoder()), fun(Medium) -> gleam@dynamic@decode:optional_field( <<"high"/utf8>>, none, gleam@dynamic@decode:optional(thumbnail_decoder()), fun(High) -> gleam@dynamic@decode:optional_field( <<"standard"/utf8>>, none, gleam@dynamic@decode:optional( thumbnail_decoder() ), fun(Standard) -> gleam@dynamic@decode:optional_field( <<"maxres"/utf8>>, none, gleam@dynamic@decode:optional( thumbnail_decoder() ), fun(Maxres) -> gleam@dynamic@decode:success( {thumbnails, Default, Medium, High, Standard, Maxres} ) end ) end ) end ) end ) end ). -file("src/gleetube/decoder/common_decoder.gleam", 55). ?DOC(" Decoder for Localized text.\n"). -spec localized_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@common:localized()). localized_decoder() -> gleam@dynamic@decode:optional_field( <<"title"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Title) -> gleam@dynamic@decode:optional_field( <<"description"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Description) -> gleam@dynamic@decode:success( {localized, Title, Description} ) end ) end ). -file("src/gleetube/decoder/common_decoder.gleam", 70). ?DOC(" Decoder for PageInfo.\n"). -spec page_info_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@common:page_info()). page_info_decoder() -> gleam@dynamic@decode:field( <<"totalResults"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_results) -> gleam@dynamic@decode:field( <<"resultsPerPage"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Results_per_page) -> gleam@dynamic@decode:success( {page_info, Total_results, Results_per_page} ) end ) end ). -file("src/gleetube/decoder/common_decoder.gleam", 77). ?DOC(" Decoder for ResourceId.\n"). -spec resource_id_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@common:resource_id()). resource_id_decoder() -> gleam@dynamic@decode:optional_field( <<"kind"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Kind) -> gleam@dynamic@decode:optional_field( <<"videoId"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Video_id) -> gleam@dynamic@decode:optional_field( <<"channelId"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Channel_id) -> gleam@dynamic@decode:optional_field( <<"playlistId"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Playlist_id) -> gleam@dynamic@decode:success( {resource_id, Kind, Video_id, Channel_id, Playlist_id} ) end ) end ) end ) end ). -file("src/gleetube/decoder/common_decoder.gleam", 102). ?DOC(" Decoder for Player.\n"). -spec player_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@common:player()). player_decoder() -> gleam@dynamic@decode:optional_field( <<"embedHtml"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Embed_html) -> gleam@dynamic@decode:optional_field( <<"embedHeight"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Embed_height) -> gleam@dynamic@decode:optional_field( <<"embedWidth"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_int/1} ), fun(Embed_width) -> gleam@dynamic@decode:success( {player, Embed_html, Embed_height, Embed_width} ) end ) end ) end ).