Packages

Idiomatic Gleam client for the YouTube Data API V3

Current section

Files

Jump to
gleetube src gleetube@encoder@caption_encoder.erl
Raw

src/gleetube@encoder@caption_encoder.erl

-module(gleetube@encoder@caption_encoder).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/gleetube/encoder/caption_encoder.gleam").
-export([encode_snippet/1, encode_caption/1]).
-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/encoder/caption_encoder.gleam", 6).
?DOC(" Encode a CaptionSnippet for insert/update request body.\n").
-spec encode_snippet(gleetube@model@caption:caption_snippet()) -> gleam@json:json().
encode_snippet(S) ->
gleetube@encoder@common_encoder:fields(
[gleetube@encoder@common_encoder:optional_string(
<<"videoId"/utf8>>,
erlang:element(2, S)
),
gleetube@encoder@common_encoder:optional_string(
<<"language"/utf8>>,
erlang:element(5, S)
),
gleetube@encoder@common_encoder:optional_string(
<<"name"/utf8>>,
erlang:element(6, S)
),
gleetube@encoder@common_encoder:optional_bool(
<<"isDraft"/utf8>>,
erlang:element(11, S)
)]
).
-file("src/gleetube/encoder/caption_encoder.gleam", 16).
?DOC(" Build a complete caption insert/update body.\n").
-spec encode_caption(gleam@json:json()) -> gleam@json:json().
encode_caption(Snippet) ->
gleam@json:object([{<<"snippet"/utf8>>, Snippet}]).