fn py_new()

in src/models/filter.rs [109:132]


  fn py_new(
    enclosing_node: Option<String>, outermost_enclosing_node: Option<String>,
    not_enclosing_node: Option<String>, not_contains: Option<Vec<String>>,
    contains: Option<String>, at_least: Option<u32>, at_most: Option<u32>,
    child_count: Option<u32>, sibling_count: Option<u32>,
  ) -> Self {
    FilterBuilder::default()
      .enclosing_node(CGPattern::new(enclosing_node.unwrap_or_default()))
      .outermost_enclosing_node(CGPattern::new(outermost_enclosing_node.unwrap_or_default()))
      .not_enclosing_node(CGPattern::new(not_enclosing_node.unwrap_or_default()))
      .not_contains(
        not_contains
          .unwrap_or_default()
          .iter()
          .map(|x| CGPattern::new(x.to_string()))
          .collect_vec(),
      )
      .contains(CGPattern::new(contains.unwrap_or_default()))
      .at_least(at_least.unwrap_or(default_contains_at_least()))
      .at_most(at_most.unwrap_or(default_contains_at_most()))
      .child_count(child_count.unwrap_or(default_child_count()))
      .sibling_count(sibling_count.unwrap_or(default_sibling_count()))
      .build()
  }