elasticsearch_dsl/search/params/
terms.rs1use super::*;
2use crate::util::*;
3
4#[derive(Clone, PartialEq, Serialize, Default)]
6pub struct Terms(Vec<Term>);
7
8impl std::fmt::Debug for Terms {
9    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10        self.0.fmt(f)
11    }
12}
13
14impl<T> From<T> for Terms
15where
16    T: IntoIterator,
17    T::Item: serde::Serialize,
18{
19    fn from(value: T) -> Self {
20        Self(value.into_iter().filter_map(Term::new).collect())
21    }
22}
23
24impl ShouldSkip for Terms {
25    fn should_skip(&self) -> bool {
26        self.0.is_empty()
27    }
28}