-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 )] ).