defmodule Caller do
def download(url, opts, :async) do
impl().download(url, opts, :async)
end
def download(url, opts) do
impl().download(url, opts)
end
def get_duration(url) do
impl().get_duration(url)
end
def list_formats(url) do
impl().list_formats(url)
end
def get_title(url) do
impl().get_title(url)
end
def get_filename(url) do
impl().get_filename(url)
end
def get_description(url) do
impl().get_description(url)
end
def get_thumbnail(url) do
impl().get_thumbnail(url)
end
def get_format(url) do
impl().get_format(url)
end
def get_id(url) do
impl().get_id(url)
end
def get_url(url) do
impl().get_url(url)
end
def ytdlp(params, url) do
impl().ytdlp(params, url)
end
defp impl() do
Application.get_env(:exyt_dlp, :exyt_mock, Exyt)
end
end