1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use std::collections::HashMap;
use std::path::{Path, PathBuf};
pub mod resolve;
pub type Variables = HashMap<String, String>;
pub trait VariablesExt {
fn as_map(&self) -> &HashMap<String, String>;
/// Gets a list of tempfile paths in the variable list.
fn tempfile_paths(&self) -> Vec<PathBuf> {
self.as_map().iter()
.filter(|(k,_)| k.contains("tempfile"))
.map(|(_,v)| Path::new(v).to_owned())
.collect()
}
}
impl VariablesExt for Variables {
fn as_map(&self) -> &Self { self }
}