use crate::ml;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Filter {
#[serde(rename = "term", default, skip_serializing_if = "Option::is_none")]
pub term: Option<Box<ml::Term>>,
#[serde(rename = "match", default, skip_serializing_if = "Option::is_none")]
pub r#match: Option<ml::Match>,
#[serde(rename = "range", default, skip_serializing_if = "Option::is_none")]
pub range: Option<ml::Range>,
#[serde(rename = "exists", default, skip_serializing_if = "Option::is_none")]
pub exists: Option<ml::Exists>,
#[serde(rename = "terms", default, skip_serializing_if = "Option::is_none")]
pub terms: Option<Box<ml::Term>>,
#[serde(rename = "nested", default, skip_serializing_if = "Option::is_none")]
pub nested: Option<ml::Nested>,
}
impl Filter {
pub fn new() -> Filter {
Filter {
term: None,
r#match: None,
range: None,
exists: None,
terms: None,
nested: None,
}
}
}