1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
use serde_json::Value; use std::collections::HashSet; use crate::DetectFramework; #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] pub struct Framework { pub name: String, pub path: String, pub relative: String, pub files: HashSet<String>, pub languages: HashSet<String>, } impl Framework { pub fn from(fw: &DetectFramework) -> Framework { let framework = fw.clone(); let files_set = framework.files.into_inner(); let languages_set = framework.languages.into_inner(); Framework { name: fw.name.clone(), path: fw.path.clone(), relative: "".to_string(), files: files_set, languages: languages_set } } } #[derive(Serialize, Deserialize, Clone, Debug)] pub struct Frameworks { pub frameworks: Vec<Framework>, pub facets: Vec<Value> }