Skip to main content

Module filter

Module filter 

Source
Expand description

Haystack filter parsing and evaluation

Haystack filters are used to evaluate simple expressions against Dict and Filter Paths.

§Examples

// Find if a Dictionary contains a `dis` value equals to `Test`
use libhaystack::dict;
use libhaystack::val::*;
use libhaystack::filter::{Filter, Filtered};

let filter = Filter::try_from(r#"site and dis=="Test""#).expect("Filter");
let dict = dict!{"site" => Value::make_marker(), "dis" => Value::from("Test")};

assert_eq!(dict.filter(&filter), true);

Re-exports§

pub use builder::FilterBuilder;
pub use builder::HasTerm;
pub use builder::IntoFilterPath;
pub use builder::NeedsTerm;
pub use eval::Eval;
pub use filtered::Filtered;
pub use filtered::ListFiltered;
pub use resolver::PathResolver;

Modules§

builder
Haystack filter builder
eval
Haystack filter evaluation
filtered
Haystack Filtered implementations
nodes
Haystack filter node types
parser
Haystack filter parser
path
Haystack filter path
resolver
Haystack path resolvers

Structs§

Filter
A Haystack Filter