1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! Property selector enum and [`jmap_types`] trait impls for [`crate::Metadata`].
//!
//! Defined here so `jmap-metadata-server` can use them without violating the
//! orphan rule (`JmapObject` is foreign; `Metadata` is local to this crate).
use ;
// ---------------------------------------------------------------------------
// Property selector enum
// ---------------------------------------------------------------------------
/// Property selector for [`crate::Metadata`] `/get` and `/set`.
///
/// Mirrors the common-properties list from
/// draft-ietf-jmap-metadata-01 §2.2.1 plus the type-specific
/// [`Metadata`](MetadataProperty::Metadata) variant for IMAP- and
/// WebDAV-flavour objects. Vendor-specific Annotation properties are
/// not enumerated here — clients refer to them by their wire string
/// (e.g. `"acme.example.com:color"`) directly via
/// [`VendorProperty`](MetadataProperty::VendorProperty).
// ---------------------------------------------------------------------------
// JmapObject / marker trait impls
// ---------------------------------------------------------------------------