rotz 1.2.1

Fully cross platform dotfile manager written in rust.
use std::{
  collections::{HashMap, HashSet},
  path::PathBuf,
};

#[cfg(test)]
use fake::Dummy;
use serde::Deserialize;

use super::{DotSimplified, InstallsComplex, LinksComplex};

#[derive(Deserialize, Clone, Default, Debug)]
#[cfg_attr(test, derive(Dummy))]
#[serde(deny_unknown_fields)]
pub(super) struct CapabilitiesComplex {
  pub(super) links: Option<HashMap<PathBuf, LinksComplex>>,
  pub(super) installs: Option<InstallsComplex>,
  pub(super) depends: Option<HashSet<String>>,
}

impl From<DotSimplified> for CapabilitiesComplex {
  fn from(from: DotSimplified) -> Self {
    Self {
      depends: from.depends,
      installs: from.installs,
      links: from.links,
    }
  }
}