deft 0.15.0

Cross platform ui framework
use std::collections::HashMap;

#[derive(Eq, PartialEq, Clone)]
pub struct StyleVars {
    data: HashMap<String, String>,
}

impl StyleVars {
    pub fn new() -> StyleVars {
        Self {
            data: HashMap::new(),
        }
    }

    pub fn set(&mut self, key: &str, value: &str) {
        self.data.insert(key.to_string(), value.to_string());
    }

    pub fn get(&self, key: &str) -> Option<&str> {
        self.data.get(key).map(|s| s.as_str())
    }

    pub fn merge(&mut self, other: StyleVars) {
        for (k, v) in other.data {
            self.data.insert(k, v);
        }
    }

    pub fn data(&self) -> &HashMap<String, String> {
        &self.data
    }
}