Current section

Files

Jump to
inlay src inlay@embed.erl
Raw

src/inlay@embed.erl

-module(inlay@embed).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/inlay/embed.gleam").
-export([bluesky_config/0, default_config/0, new/0]).
-export_type([embed/0, apple_music_media_type/0, spotify_media_type/0, instagram_post_type/0, pixelfed_layout/0, config/0, youtube_config/0, vimeo_config/0, spotify_config/0, twitter_config/0, tik_tok_config/0, bluesky_config/0, instagram_config/0, twitch_config/0, open_street_map_config/0, ted_config/0, sound_cloud_config/0, mastodon_config/0, pixelfed_config/0, apple_music_config/0]).
-type embed() :: {youtube_video,
binary(),
gleam@option:option(integer()),
gleam@option:option(binary())} |
{youtube_playlist, binary()} |
{vimeo_video, binary(), gleam@option:option(binary())} |
{spotify_media, spotify_media_type(), binary()} |
{tweet, binary(), binary()} |
{tik_tok_video, binary(), binary()} |
{bluesky_post, binary(), binary()} |
{instagram_post, instagram_post_type(), binary()} |
{twitch_channel, binary()} |
{twitch_video, binary()} |
{map_location, integer(), float(), float()} |
{ted_talk, binary()} |
{sound_cloud_track, binary()} |
{mastodon_post, binary(), binary(), binary()} |
{pixelfed_post, binary(), binary(), binary()} |
{apple_music_media, apple_music_media_type(), binary(), binary(), binary()}.
-type apple_music_media_type() :: apple_music_album |
apple_music_artist |
apple_music_playlist |
{apple_music_song, binary()} |
apple_music_music_video.
-type spotify_media_type() :: spotify_playlist |
spotify_track |
spotify_album |
spotify_artist |
spotify_episode |
spotify_show.
-type instagram_post_type() :: post | reel | t_v.
-type pixelfed_layout() :: {full, boolean(), boolean()} | compact.
-type config() :: {config,
gleam@option:option(youtube_config()),
gleam@option:option(vimeo_config()),
gleam@option:option(spotify_config()),
gleam@option:option(twitter_config()),
gleam@option:option(tik_tok_config()),
gleam@option:option(bluesky_config()),
gleam@option:option(instagram_config()),
gleam@option:option(twitch_config()),
gleam@option:option(open_street_map_config()),
gleam@option:option(ted_config()),
gleam@option:option(sound_cloud_config()),
gleam@option:option(mastodon_config()),
gleam@option:option(pixelfed_config()),
gleam@option:option(apple_music_config())}.
-type youtube_config() :: {youtube_config,
boolean(),
gleam@option:option(binary())}.
-type vimeo_config() :: {vimeo_config, boolean(), gleam@option:option(binary())}.
-type spotify_config() :: {spotify_config,
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer())}.
-type twitter_config() :: twitter_config.
-type tik_tok_config() :: tik_tok_config.
-type bluesky_config() :: {bluesky_config,
gleam@option:option(fun((binary()) -> {ok, binary()} | {error, nil}))}.
-type instagram_config() :: instagram_config.
-type twitch_config() :: {twitch_config,
binary(),
gleam@option:option(binary())}.
-type open_street_map_config() :: {open_street_map_config,
gleam@option:option(binary())}.
-type ted_config() :: {ted_config, gleam@option:option(binary())}.
-type sound_cloud_config() :: {sound_cloud_config,
gleam@option:option(integer()),
gleam@option:option(integer())}.
-type mastodon_config() :: {mastodon_config,
list(binary()),
gleam@option:option(integer())}.
-type pixelfed_config() :: {pixelfed_config,
list(binary()),
pixelfed_layout(),
gleam@option:option(integer())}.
-type apple_music_config() :: {apple_music_config,
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer())}.
-file("src/inlay/embed.gleam", 142).
-spec bluesky_config() -> bluesky_config().
bluesky_config() ->
{bluesky_config, none}.
-file("src/inlay/embed.gleam", 146).
-spec default_config() -> config().
default_config() ->
{config,
{some, {youtube_config, true, none}},
{some, {vimeo_config, true, none}},
{some, {spotify_config, none, none, none}},
{some, twitter_config},
{some, tik_tok_config},
{some, {bluesky_config, none}},
{some, instagram_config},
none,
{some, {open_street_map_config, none}},
{some, {ted_config, none}},
{some, {sound_cloud_config, none, none}},
none,
none,
{some, {apple_music_config, none, none, none}}}.
-file("src/inlay/embed.gleam", 169).
-spec new() -> config().
new() ->
{config,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none}.