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 eval::Eval;
pub use filtered::Filtered;
pub use filtered::ListFiltered;
pub use resolver::PathResolver;

Modules§

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