use std::path::PathBuf; #[derive(Debug, Clone)] pub enum UiSource { File(PathBuf), Source(String), } impl UiSource { pub fn file(path: impl Into) -> Self { Self::File(path.into()) } pub fn source(code: impl Into) -> Self { Self::Source(code.into()) } } impl From<&str> for UiSource { fn from(s: &str) -> Self { Self::File(PathBuf::from(s)) } } impl From for UiSource { fn from(s: String) -> Self { Self::File(PathBuf::from(s)) } } impl From for UiSource { fn from(path: PathBuf) -> Self { Self::File(path) } }