Expand description
Haystack filter builder
Provides a fluent, type-safe API for constructing Filter values
by building the filter’s AST directly — no intermediate string parsing required.
§Examples
use libhaystack::filter::{Filter, FilterBuilder};
use libhaystack::val::Value;
// site and dis == "Main"
let filter = FilterBuilder::new()
.has("site")
.and()
.eq("dis", Value::make_str("Main"))
.build();
assert_eq!(filter.to_string(), r#"site and dis == "Main""#);use libhaystack::filter::FilterBuilder;
use libhaystack::val::Value;
// (equip or point) and siteRef == @mySite
let filter = FilterBuilder::new()
.start_parens()
.has("equip")
.or()
.has("point")
.end_parens()
.and()
.eq("siteRef", Value::make_ref("mySite"))
.build();
assert_eq!(filter.to_string(), "(equip or point) and siteRef == @mySite");Structs§
- Filter
Builder - Fluent builder for constructing a Haystack
Filtervia its AST. - HasTerm
- Typestate marker for
FilterBuilder— a term has just been added. - Needs
Term - Typestate marker for
FilterBuilder— a term must be added next.
Traits§
- Into
Filter Path - Converts a value into a filter
Path.