validate_directory_structure-0.1.0 is not a library.
This is a validator of directories, it validates if exist folders or files according to JSON structure.
Example JSON structure
{
"name": "Name of this structure",
"description": "Short descript about this structure",
"folders": [
{
"required": true,
"names": ["foo", "FOO", "Fo o"],
"files": [
{
"required": true,
"names": ["bar", "baar"]
},
{
"required": true,
"names": ["aaaa"]
}
],
"folders": [
{
"required": false,
"names": ["sub_folder"],
"files": [
{
"required": true,
"names": ["file_sub_file"]
}
],
"folders": [
{
"required": false,
"names": ["sub sub folder"],
"files": [
{
"required": true,
"names": ["bbbbb", "bb bb"]
}
]
}
]
}
]
},
{
"required": true,
"names": ["folder 2", "folder2"],
"files": [
{
"required": true,
"names": ["file1", "file 1"]
}
]
}
]
}
Significant typing
#[derive(Debug, Serialize)]
pub enum ItemType {
File,
Folder,
}
#[derive(Debug, Serialize)]
pub enum AlertType {
Warning, MissingItem,
ExtraItem,
ErrorReadingFile,
}
#[derive(Debug, Serialize)]
pub struct AlertFileStructure {
pub path: String,
pub item_type: ItemType,
pub alert_type: AlertType,
}
Example to use:
validate_structure(
project_path: &str,
folder_structure_json: &str,
) -> Vec<AlertFileStructure>