#[non_exhaustive]pub struct EmailComparator {
pub property: ComparatorProperty,
pub is_ascending: bool,
pub collation: Option<String>,
pub keyword: Option<Keyword>,
}Expand description
Sort comparator for Email/query (RFC 8621 §4.4.2).
When property is one of the keyword-based variants
(ComparatorProperty::HasKeyword, ComparatorProperty::AllInThreadHaveKeyword,
ComparatorProperty::SomeInThreadHaveKeyword), the keyword field
MUST also be set. is_ascending defaults to true per RFC 8620 §5.5.
§Construction
Use EmailComparator::new to construct from outside this crate.
The struct is #[non_exhaustive]; struct literal syntax is not available
to external callers.
use jmap_mail_types::query::{EmailComparator, ComparatorProperty};
let mut cmp = EmailComparator::new(ComparatorProperty::ReceivedAt);
cmp.is_ascending = false; // sort descendingFields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.property: ComparatorPropertyThe property to sort by.
is_ascending: boolIf true, sort ascending; if false, sort descending.
Defaults to true per RFC 8620 §5.5.
collation: Option<String>Collation algorithm (e.g. "i;ascii-casemap").
keyword: Option<Keyword>Required when property is one of the keyword-based variants
(RFC 8621 §4.4.2).
Implementations§
Source§impl EmailComparator
impl EmailComparator
Sourcepub fn new(property: ComparatorProperty) -> Self
pub fn new(property: ComparatorProperty) -> Self
Construct an EmailComparator for the given property.
is_ascending defaults to true (RFC 8620 §5.5 default).
collation and keyword default to None.
Set fields directly after construction:
use jmap_mail_types::query::{EmailComparator, ComparatorProperty};
use jmap_mail_types::Keyword;
let mut cmp = EmailComparator::new(ComparatorProperty::HasKeyword);
cmp.keyword = Some(Keyword::from("$flagged"));
cmp.is_ascending = false;Trait Implementations§
Source§impl Clone for EmailComparator
impl Clone for EmailComparator
Source§fn clone(&self) -> EmailComparator
fn clone(&self) -> EmailComparator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more