in src/models/rule.rs [162:203]
fn py_new(
name: String, query: Option<String>, replace: Option<String>, replace_idx: Option<u8>,
replace_node: Option<String>, holes: Option<HashSet<String>>, groups: Option<HashSet<String>>,
filters: Option<HashSet<Filter>>, is_seed_rule: Option<bool>,
) -> Self {
let mut rule_builder = RuleBuilder::default();
rule_builder.name(name);
if let Some(q) = query {
rule_builder.query(CGPattern::new(q));
}
if let Some(replace) = replace {
rule_builder.replace(replace);
}
if let Some(replace_idx) = replace_idx {
rule_builder.replace_idx(replace_idx);
}
if let Some(replace_node) = replace_node {
rule_builder.replace_node(replace_node);
}
if let Some(holes) = holes {
rule_builder.holes(holes);
}
if let Some(groups) = groups {
rule_builder.groups(groups);
}
if let Some(filters) = filters {
rule_builder.filters(filters);
}
if let Some(is_seed_rule) = is_seed_rule {
rule_builder.is_seed_rule(is_seed_rule);
}
rule_builder.build().unwrap()
}