Current section
Files
Jump to
Current section
Files
src/kitazith@embed.erl
-module(kitazith@embed).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/kitazith/embed.gleam").
-export([new/0, with_title/2, with_description/2, with_url/2, with_timestamp/2, with_color/2, with_footer/2, with_image/2, with_thumbnail/2, with_author/2, with_fields/2, new_footer/1, with_footer_icon_url/2, new_author/1, with_author_url/2, with_author_icon_url/2, new_field/2, with_field_inline/2, to_json/1]).
-export_type([embed/0, embed_footer/0, embed_image/0, embed_thumbnail/0, embed_author/0, embed_field/0]).
-type embed() :: {embed,
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(kitazith@timestamp:timestamp()),
gleam@option:option(integer()),
gleam@option:option(embed_footer()),
gleam@option:option(embed_image()),
gleam@option:option(embed_thumbnail()),
gleam@option:option(embed_author()),
gleam@option:option(list(embed_field()))}.
-type embed_footer() :: {embed_footer, binary(), gleam@option:option(binary())}.
-type embed_image() :: {embed_image, binary()}.
-type embed_thumbnail() :: {embed_thumbnail, binary()}.
-type embed_author() :: {embed_author,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type embed_field() :: {embed_field,
binary(),
binary(),
gleam@option:option(boolean())}.
-file("src/kitazith/embed.gleam", 85).
-spec new() -> embed().
new() ->
{embed, none, none, none, none, none, none, none, none, none, none}.
-file("src/kitazith/embed.gleam", 100).
-spec with_title(embed(), binary()) -> embed().
with_title(Embed, Title) ->
{embed,
{some, Title},
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 104).
-spec with_description(embed(), binary()) -> embed().
with_description(Embed, Description) ->
{embed,
erlang:element(2, Embed),
{some, Description},
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 108).
-spec with_url(embed(), binary()) -> embed().
with_url(Embed, Url) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
{some, Url},
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 112).
-spec with_timestamp(embed(), kitazith@timestamp:timestamp()) -> embed().
with_timestamp(Embed, Timestamp) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
{some, Timestamp},
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 116).
-spec with_color(embed(), integer()) -> embed().
with_color(Embed, Color) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
{some, Color},
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 120).
-spec with_footer(embed(), embed_footer()) -> embed().
with_footer(Embed, Footer) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
{some, Footer},
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 124).
-spec with_image(embed(), embed_image()) -> embed().
with_image(Embed, Image) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
{some, Image},
erlang:element(9, Embed),
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 128).
-spec with_thumbnail(embed(), embed_thumbnail()) -> embed().
with_thumbnail(Embed, Thumbnail) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
{some, Thumbnail},
erlang:element(10, Embed),
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 132).
-spec with_author(embed(), embed_author()) -> embed().
with_author(Embed, Author) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
{some, Author},
erlang:element(11, Embed)}.
-file("src/kitazith/embed.gleam", 136).
-spec with_fields(embed(), list(embed_field())) -> embed().
with_fields(Embed, Fields) ->
{embed,
erlang:element(2, Embed),
erlang:element(3, Embed),
erlang:element(4, Embed),
erlang:element(5, Embed),
erlang:element(6, Embed),
erlang:element(7, Embed),
erlang:element(8, Embed),
erlang:element(9, Embed),
erlang:element(10, Embed),
{some, Fields}}.
-file("src/kitazith/embed.gleam", 140).
-spec new_footer(binary()) -> embed_footer().
new_footer(Text) ->
{embed_footer, Text, none}.
-file("src/kitazith/embed.gleam", 144).
-spec with_footer_icon_url(embed_footer(), binary()) -> embed_footer().
with_footer_icon_url(Footer, Icon_url) ->
{embed_footer, erlang:element(2, Footer), {some, Icon_url}}.
-file("src/kitazith/embed.gleam", 151).
-spec new_author(binary()) -> embed_author().
new_author(Name) ->
{embed_author, Name, none, none}.
-file("src/kitazith/embed.gleam", 155).
-spec with_author_url(embed_author(), binary()) -> embed_author().
with_author_url(Author, Url) ->
{embed_author,
erlang:element(2, Author),
{some, Url},
erlang:element(4, Author)}.
-file("src/kitazith/embed.gleam", 159).
-spec with_author_icon_url(embed_author(), binary()) -> embed_author().
with_author_icon_url(Author, Icon_url) ->
{embed_author,
erlang:element(2, Author),
erlang:element(3, Author),
{some, Icon_url}}.
-file("src/kitazith/embed.gleam", 166).
-spec new_field(binary(), binary()) -> embed_field().
new_field(Name, Value) ->
{embed_field, Name, Value, none}.
-file("src/kitazith/embed.gleam", 170).
-spec with_field_inline(embed_field(), boolean()) -> embed_field().
with_field_inline(Field, Inline) ->
{embed_field,
erlang:element(2, Field),
erlang:element(3, Field),
{some, Inline}}.
-file("src/kitazith/embed.gleam", 214).
-spec embed_field_to_json(embed_field()) -> gleam@json:json().
embed_field_to_json(Field) ->
kitazith@internal@json_helper:object_omit_none(
[{some, {<<"name"/utf8>>, gleam@json:string(erlang:element(2, Field))}},
{some,
{<<"value"/utf8>>, gleam@json:string(erlang:element(3, Field))}},
kitazith@internal@json_helper:optional(
<<"inline"/utf8>>,
erlang:element(4, Field),
fun gleam@json:bool/1
)]
).
-file("src/kitazith/embed.gleam", 206).
-spec embed_author_to_json(embed_author()) -> gleam@json:json().
embed_author_to_json(Author) ->
kitazith@internal@json_helper:object_omit_none(
[{some, {<<"name"/utf8>>, gleam@json:string(erlang:element(2, Author))}},
kitazith@internal@json_helper:optional(
<<"url"/utf8>>,
erlang:element(3, Author),
fun gleam@json:string/1
),
kitazith@internal@json_helper:optional(
<<"icon_url"/utf8>>,
erlang:element(4, Author),
fun gleam@json:string/1
)]
).
-file("src/kitazith/embed.gleam", 202).
-spec embed_thumbnail_to_json(embed_thumbnail()) -> gleam@json:json().
embed_thumbnail_to_json(Thumbnail) ->
gleam@json:object(
[{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Thumbnail))}]
).
-file("src/kitazith/embed.gleam", 198).
-spec embed_image_to_json(embed_image()) -> gleam@json:json().
embed_image_to_json(Image) ->
gleam@json:object(
[{<<"url"/utf8>>, gleam@json:string(erlang:element(2, Image))}]
).
-file("src/kitazith/embed.gleam", 191).
-spec embed_footer_to_json(embed_footer()) -> gleam@json:json().
embed_footer_to_json(Footer) ->
kitazith@internal@json_helper:object_omit_none(
[{some, {<<"text"/utf8>>, gleam@json:string(erlang:element(2, Footer))}},
kitazith@internal@json_helper:optional(
<<"icon_url"/utf8>>,
erlang:element(3, Footer),
fun gleam@json:string/1
)]
).
-file("src/kitazith/embed.gleam", 174).
-spec to_json(embed()) -> gleam@json:json().
to_json(Embed) ->
kitazith@internal@json_helper:object_omit_none(
[kitazith@internal@json_helper:optional(
<<"title"/utf8>>,
erlang:element(2, Embed),
fun gleam@json:string/1
),
kitazith@internal@json_helper:optional(
<<"description"/utf8>>,
erlang:element(3, Embed),
fun gleam@json:string/1
),
kitazith@internal@json_helper:optional(
<<"url"/utf8>>,
erlang:element(4, Embed),
fun gleam@json:string/1
),
kitazith@internal@json_helper:optional(
<<"timestamp"/utf8>>,
erlang:element(5, Embed),
fun kitazith@timestamp:to_json/1
),
kitazith@internal@json_helper:optional(
<<"color"/utf8>>,
erlang:element(6, Embed),
fun gleam@json:int/1
),
kitazith@internal@json_helper:optional(
<<"footer"/utf8>>,
erlang:element(7, Embed),
fun embed_footer_to_json/1
),
kitazith@internal@json_helper:optional(
<<"image"/utf8>>,
erlang:element(8, Embed),
fun embed_image_to_json/1
),
kitazith@internal@json_helper:optional(
<<"thumbnail"/utf8>>,
erlang:element(9, Embed),
fun embed_thumbnail_to_json/1
),
kitazith@internal@json_helper:optional(
<<"author"/utf8>>,
erlang:element(10, Embed),
fun embed_author_to_json/1
),
kitazith@internal@json_helper:optional(
<<"fields"/utf8>>,
erlang:element(11, Embed),
fun(Fields) ->
gleam@json:array(Fields, fun embed_field_to_json/1)
end
)]
).