use std::path::Path;
use std::path::PathBuf;
use indexmap::IndexMap;
#[derive(Debug)]
pub enum OriginPaths {
Single(PathBuf),
Map(IndexMap<String, PathBuf>),
}
impl OriginPaths {
pub fn get(&self, key: &str) -> Option<&Path> {
match self {
OriginPaths::Single(path) => Some(path.as_path()),
OriginPaths::Map(paths) => paths.get(key).map(|p| p.as_path()),
}
}
}
impl From<PathBuf> for OriginPaths {
fn from(value: PathBuf) -> Self {
Self::Single(value)
}
}
impl From<IndexMap<String, PathBuf>> for OriginPaths {
fn from(value: IndexMap<String, PathBuf>) -> Self {
Self::Map(value)
}
}