use serde::Deserialize;
use std::path::Path;
use std::path::PathBuf;
#[derive(Debug, Default, Deserialize, PartialEq, Eq)]
#[serde(deny_unknown_fields, rename_all = "kebab-case")]
pub struct PackageConfig {
#[serde(default)]
pub header_file: Option<PathBuf>,
#[serde(default)]
pub max_files_per_directory: Option<usize>,
#[serde(default)]
pub max_subfolders_per_directory: Option<usize>,
#[serde(default)]
pub rules: Vec<String>,
#[serde(default)]
pub skip: Vec<String>,
#[serde(default)]
pub exclude: Vec<String>,
}
impl PackageConfig {
pub fn header_file_from(&self, directory: &Path) -> Option<PathBuf> {
self.header_file.as_ref().map(|path| directory.join(path))
}
}