Current section
Files
Jump to
Current section
Files
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, youtube_config/0, vimeo_config/0, spotify_config/0, twitch_config/1, openstreetmap_config/0, ted_config/0, soundcloud_config/0, mastodon_config/1, pixelfed_config/2, apple_music_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 youtube_config() -> youtube_config().
youtube_config() ->
{youtube_config, true, none}.
-file("src/inlay/embed.gleam", 150).
-spec vimeo_config() -> vimeo_config().
vimeo_config() ->
{vimeo_config, true, none}.
-file("src/inlay/embed.gleam", 154).
-spec spotify_config() -> spotify_config().
spotify_config() ->
{spotify_config, none, none, none}.
-file("src/inlay/embed.gleam", 158).
-spec twitch_config(binary()) -> twitch_config().
twitch_config(Parent) ->
{twitch_config, Parent, none}.
-file("src/inlay/embed.gleam", 162).
-spec openstreetmap_config() -> open_street_map_config().
openstreetmap_config() ->
{open_street_map_config, none}.
-file("src/inlay/embed.gleam", 166).
-spec ted_config() -> ted_config().
ted_config() ->
{ted_config, none}.
-file("src/inlay/embed.gleam", 170).
-spec soundcloud_config() -> sound_cloud_config().
soundcloud_config() ->
{sound_cloud_config, none, none}.
-file("src/inlay/embed.gleam", 174).
-spec mastodon_config(list(binary())) -> mastodon_config().
mastodon_config(Servers) ->
{mastodon_config, Servers, none}.
-file("src/inlay/embed.gleam", 178).
-spec pixelfed_config(list(binary()), pixelfed_layout()) -> pixelfed_config().
pixelfed_config(Servers, Layout) ->
{pixelfed_config, Servers, Layout, none}.
-file("src/inlay/embed.gleam", 185).
-spec apple_music_config() -> apple_music_config().
apple_music_config() ->
{apple_music_config, none, none, none}.
-file("src/inlay/embed.gleam", 189).
-spec default_config() -> config().
default_config() ->
{config,
{some, youtube_config()},
{some, vimeo_config()},
{some, spotify_config()},
{some, twitter_config},
{some, tik_tok_config},
{some, bluesky_config()},
{some, instagram_config},
none,
{some, openstreetmap_config()},
{some, ted_config()},
{some, soundcloud_config()},
none,
none,
{some, apple_music_config()}}.
-file("src/inlay/embed.gleam", 208).
-spec new() -> config().
new() ->
{config,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none}.