#[non_exhaustive]pub struct Name {
pub at_type: Option<String>,
pub components: Option<Vec<NameComponent>>,
pub is_ordered: Option<bool>,
pub default_separator: Option<String>,
pub full: Option<String>,
pub sort_as: Option<HashMap<String, String>>,
pub phonetic_script: Option<String>,
pub phonetic_system: Option<String>,
pub extra: Map<String, Value>,
}Expand description
The name of the entity represented by a Card (RFC 9553 §2.2.1).
At least one of components or full
must be set per the RFC; this is not enforced at the type level.
Fields (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.at_type: Option<String>Object type discriminator; SHOULD be "Name" when present per RFC 9553 §1.3.4 (may be omitted in defaultType positions).
components: Option<Vec<NameComponent>>The components making up this name.
is_ordered: Option<bool>Whether the components are ordered (default false).
default_separator: Option<String>The default separator to insert between component values when
concatenating them; only valid when is_ordered is true.
full: Option<String>The full name representation of the Name. Must be set if
components is not set.
sort_as: Option<HashMap<String, String>>Sort-as overrides: kind → verbatim string to compare.
phonetic_script: Option<String>The script used by the phonetic property on components.
phonetic_system: Option<String>The phonetic system used by the phonetic property on components.
extra: Map<String, Value>Catch-all for vendor / site / private extension fields not covered by the typed fields above. Preserves unknown fields across deserialize/serialize round-trip per workspace extras-preservation policy (see workspace AGENTS.md).