Current section
Files
Jump to
Current section
Files
src/gleetube@decoder@activity_decoder.erl
-module(gleetube@decoder@activity_decoder).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/gleetube/decoder/activity_decoder.gleam").
-export([activity_decoder/0, activity_list_response_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/activity_decoder.gleam", 92).
-spec activity_snippet_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_snippet()).
activity_snippet_decoder() ->
gleam@dynamic@decode:optional_field(
<<"publishedAt"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Published_at) ->
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(
<<"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:optional_field(
<<"thumbnails"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:thumbnails_decoder(
)
),
fun(Thumbnails) ->
gleam@dynamic@decode:optional_field(
<<"channelTitle"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Channel_title) ->
gleam@dynamic@decode:optional_field(
<<"type"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Type_) ->
gleam@dynamic@decode:optional_field(
<<"groupId"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Group_id) ->
gleam@dynamic@decode:success(
{activity_snippet,
Published_at,
Channel_id,
Title,
Description,
Thumbnails,
Channel_title,
Type_,
Group_id}
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 210).
-spec upload_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_upload()).
upload_decoder() ->
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:success(
{activity_content_details_upload, Video_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 219).
-spec like_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_like()).
like_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_like, Resource_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 228).
-spec favorite_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_favorite()).
favorite_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_favorite, Resource_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 237).
-spec comment_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_comment()).
comment_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_comment, Resource_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 246).
-spec subscription_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_subscription()).
subscription_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_subscription, Resource_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 255).
-spec playlist_item_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_playlist_item()).
playlist_item_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_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:optional_field(
<<"playlistItemId"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Playlist_item_id) ->
gleam@dynamic@decode:success(
{activity_content_details_playlist_item,
Resource_id,
Playlist_id,
Playlist_item_id}
)
end
)
end
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 278).
-spec recommendation_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_recommendation()).
recommendation_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:optional_field(
<<"reason"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Reason) ->
gleam@dynamic@decode:optional_field(
<<"seedResourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder(
)
),
fun(Seed_resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_recommendation,
Resource_id,
Reason,
Seed_resource_id}
)
end
)
end
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 303).
-spec bulletin_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_bulletin()).
bulletin_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_bulletin, Resource_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 312).
-spec social_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_social()).
social_decoder() ->
gleam@dynamic@decode:optional_field(
<<"type"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Type_) ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:optional_field(
<<"author"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Author) ->
gleam@dynamic@decode:optional_field(
<<"referenceUrl"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Reference_url) ->
gleam@dynamic@decode:optional_field(
<<"imageUrl"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Image_url) ->
gleam@dynamic@decode:success(
{activity_content_details_social,
Type_,
Resource_id,
Author,
Reference_url,
Image_url}
)
end
)
end
)
end
)
end
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 347).
-spec channel_item_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details_channel_item()).
channel_item_decoder() ->
gleam@dynamic@decode:optional_field(
<<"resourceId"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:resource_id_decoder()
),
fun(Resource_id) ->
gleam@dynamic@decode:success(
{activity_content_details_channel_item, Resource_id}
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 145).
-spec activity_content_details_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_content_details()).
activity_content_details_decoder() ->
gleam@dynamic@decode:optional_field(
<<"upload"/utf8>>,
none,
gleam@dynamic@decode:optional(upload_decoder()),
fun(Upload) ->
gleam@dynamic@decode:optional_field(
<<"like"/utf8>>,
none,
gleam@dynamic@decode:optional(like_decoder()),
fun(Like) ->
gleam@dynamic@decode:optional_field(
<<"favorite"/utf8>>,
none,
gleam@dynamic@decode:optional(favorite_decoder()),
fun(Favorite) ->
gleam@dynamic@decode:optional_field(
<<"comment"/utf8>>,
none,
gleam@dynamic@decode:optional(comment_decoder()),
fun(Comment) ->
gleam@dynamic@decode:optional_field(
<<"subscription"/utf8>>,
none,
gleam@dynamic@decode:optional(
subscription_decoder()
),
fun(Subscription) ->
gleam@dynamic@decode:optional_field(
<<"playlistItem"/utf8>>,
none,
gleam@dynamic@decode:optional(
playlist_item_decoder()
),
fun(Playlist_item) ->
gleam@dynamic@decode:optional_field(
<<"recommendation"/utf8>>,
none,
gleam@dynamic@decode:optional(
recommendation_decoder(
)
),
fun(Recommendation) ->
gleam@dynamic@decode:optional_field(
<<"bulletin"/utf8>>,
none,
gleam@dynamic@decode:optional(
bulletin_decoder(
)
),
fun(Bulletin) ->
gleam@dynamic@decode:optional_field(
<<"social"/utf8>>,
none,
gleam@dynamic@decode:optional(
social_decoder(
)
),
fun(
Social
) ->
gleam@dynamic@decode:optional_field(
<<"channelItem"/utf8>>,
none,
gleam@dynamic@decode:optional(
channel_item_decoder(
)
),
fun(
Channel_item
) ->
gleam@dynamic@decode:success(
{activity_content_details,
Upload,
Like,
Favorite,
Comment,
Subscription,
Playlist_item,
Recommendation,
Bulletin,
Social,
Channel_item}
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 57).
?DOC(" Decoder for a single Activity resource.\n").
-spec activity_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity()).
activity_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(
<<"etag"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Etag) ->
gleam@dynamic@decode:optional_field(
<<"id"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Id) ->
gleam@dynamic@decode:optional_field(
<<"snippet"/utf8>>,
none,
gleam@dynamic@decode:optional(
activity_snippet_decoder()
),
fun(Snippet) ->
gleam@dynamic@decode:optional_field(
<<"contentDetails"/utf8>>,
none,
gleam@dynamic@decode:optional(
activity_content_details_decoder()
),
fun(Content_details) ->
gleam@dynamic@decode:success(
{activity,
Kind,
Etag,
Id,
Snippet,
Content_details}
)
end
)
end
)
end
)
end
)
end
).
-file("src/gleetube/decoder/activity_decoder.gleam", 15).
?DOC(" Decoder for an ActivityListResponse.\n").
-spec activity_list_response_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@activity:activity_list_response()).
activity_list_response_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(
<<"etag"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Etag) ->
gleam@dynamic@decode:optional_field(
<<"nextPageToken"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Next_page_token) ->
gleam@dynamic@decode:optional_field(
<<"prevPageToken"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Prev_page_token) ->
gleam@dynamic@decode:optional_field(
<<"pageInfo"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleetube@decoder@common_decoder:page_info_decoder(
)
),
fun(Page_info) ->
gleam@dynamic@decode:optional_field(
<<"items"/utf8>>,
[],
gleam@dynamic@decode:list(
activity_decoder()
),
fun(Items) ->
gleam@dynamic@decode:success(
{activity_list_response,
Kind,
Etag,
Next_page_token,
Prev_page_token,
Page_info,
Items}
)
end
)
end
)
end
)
end
)
end
)
end
).