Basic usage
use xyz_validator::{RqlValidator, ValidatorInterface};
fn main() {
let valid_rql_statement = "or(and(eq(name,John),eq(surname,Doe)),eq(surname,Smith))".to_owned();
let rql_validator: Box<dyn ValidatorInterface> = Box::new(RqlValidator::new(None));
assert!(rql_validator.is_valid(valid_rql_statement));
let invalid_rql_statement = "and(eq(name,John),eq(surname,Doe),eq(surname,Smith))".to_owned();
fn print_errors(error_message: &str) {
eprintln!("{}", error_message);
}
let rql_validator: Box<dyn ValidatorInterface> =
Box::new(RqlValidator::new(Some(print_errors)));
assert!(!rql_validator.is_valid(invalid_rql_statement));
}