#[cfg(feature = "native")]
pub mod atom;
#[cfg(feature = "native")]
pub mod clause;
#[cfg(feature = "native")]
pub mod expression;
#[cfg(feature = "native")]
pub mod filter;
#[cfg(feature = "native")]
pub mod number;
#[cfg(feature = "native")]
pub mod offset;
#[cfg(feature = "native")]
pub mod order;
#[cfg(feature = "native")]
pub mod search_query;
#[cfg(feature = "native")]
pub mod string;
#[cfg(feature = "native")]
pub mod symbol;
#[cfg(feature = "native")]
pub mod term;
#[cfg(feature = "native")]
pub mod timestamp;
#[cfg(feature = "native")]
pub mod wsi;
pub mod compare;
#[cfg(feature = "native")]
pub use order::Order;
#[cfg(feature = "native")]
pub use order::OrderBy;
#[cfg(feature = "native")]
pub use search_query::SearchQuery;
#[cfg(feature = "native")]
pub use search_query::parse_search_query;
use serde::Deserialize;
use serde::Serialize;
#[cfg(test)]
pub mod expression_test;
#[cfg(test)]
pub mod filter_test;
#[cfg(test)]
pub mod number_test;
#[cfg(test)]
pub mod offset_test;
#[derive(Debug, PartialEq, Clone, Default, Deserialize, Serialize)]
#[cfg_attr(test, derive(schemars::JsonSchema))]
pub struct FilterResult {
pub r#match: bool,
}
impl FilterResult {
pub fn new(r#match: bool) -> Self {
Self { r#match }
}
}
impl From<bool> for FilterResult {
fn from(r#match: bool) -> Self {
Self { r#match }
}
}
#[test]
fn generate_json_schema_filter_result() {
use schemars::schema_for;
let mut schema = schema_for!(FilterResult);
schema.insert("$id".into(), "https://raw.githubusercontent.com/MAIF/yozefu/refs/heads/main/docs/json-schemas/filter-result.json".into());
std::fs::write(
std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.parent()
.unwrap()
.parent()
.unwrap()
.join("docs")
.join("json-schemas")
.join("filter-result.json"),
serde_json::to_string_pretty(&schema).unwrap(),
)
.unwrap();
}