use crate::MediaSorts;
use ambassador::delegatable_trait;
#[delegatable_trait]
pub trait FormatViewAlg: MediaSorts {
fn format_text<'a>(&self, format: &'a Self::Format, key: &str) -> Option<&'a str>;
}
#[delegatable_trait]
pub trait FormatAlg: MediaSorts {
fn format(&self, id: impl Into<String>, metadata: Self::Metadata) -> Self::Format;
}
pub const FORMAT_SOURCE: &str = "url";
pub const FORMAT_EXTENSION: &str = "ext";
pub const FORMAT_HAS_AUDIO: &str = "has_audio";
pub const FORMAT_HAS_VIDEO: &str = "has_video";