pub enum IcalValue<'a> {
Show 19 variants
Binary(IcalBinary<'a>),
Boolean(IcalBoolean<'a>),
CalAddress(IcalCalAddress<'a>),
Date(IcalDate<'a>),
DateTime(IcalDateTime<'a>),
DateTimeList(IcalDateTimeList<'a>),
Duration(IcalDuration<'a>),
Float(IcalFloat<'a>),
Geo(IcalGeo<'a>),
Integer(IcalInteger<'a>),
Period(IcalPeriod<'a>),
Recur(IcalRecur<'a>),
RequestStatus(IcalRequestStatus<'a>),
Text(IcalText<'a>),
TextList(IcalTextList<'a>),
Time(IcalTime<'a>),
Uri(IcalUri<'a>),
UtcOffset(IcalUtcOffset<'a>),
Unknown(IcalUnknownValue<'a>),
}Expand description
A decoded property value: one known kind, or Unknown (raw) for anything
the model does not decode.
Variants§
Binary(IcalBinary<'a>)
A binary value (ATTACH, IMAGE): a URI reference or inline base64.
Boolean(IcalBoolean<'a>)
A boolean value.
CalAddress(IcalCalAddress<'a>)
A calendar user address (ORGANIZER, ATTENDEE).
Date(IcalDate<'a>)
A calendar date.
DateTime(IcalDateTime<'a>)
A date with time (DTSTAMP, DTSTART, …).
DateTimeList(IcalDateTimeList<'a>)
A list of dates, date-times or periods (RDATE, EXDATE).
Duration(IcalDuration<'a>)
A duration (DURATION, TRIGGER).
Float(IcalFloat<'a>)
A floating-point number.
Geo(IcalGeo<'a>)
The structured GEO latitude/longitude pair.
Integer(IcalInteger<'a>)
A signed integer (PRIORITY, SEQUENCE, PERCENT-COMPLETE).
Period(IcalPeriod<'a>)
A period of time (FREEBUSY).
Recur(IcalRecur<'a>)
A recurrence rule (RRULE).
RequestStatus(IcalRequestStatus<'a>)
The structured REQUEST-STATUS value.
Text(IcalText<'a>)
A single text value (SUMMARY, DESCRIPTION, …).
TextList(IcalTextList<'a>)
A comma-separated text list (CATEGORIES, RESOURCES).
Time(IcalTime<'a>)
A time of day.
Uri(IcalUri<'a>)
A URI (URL, TZURL, SOURCE, …).
UtcOffset(IcalUtcOffset<'a>)
A UTC offset (TZOFFSETFROM, TZOFFSETTO).
Unknown(IcalUnknownValue<'a>)
Any value the model does not decode, kept as its raw components so it round-trips.
Implementations§
Source§impl IcalValue<'_>
impl IcalValue<'_>
Sourcepub fn kind(&self) -> Option<IcalValueKind>
pub fn kind(&self) -> Option<IcalValueKind>
The closed IcalValueKind of this value, or None for
Unknown (which is outside the vocabulary).
Sourcepub fn into_owned(self) -> IcalValue<'static>
pub fn into_owned(self) -> IcalValue<'static>
The same value with every borrow replaced by an allocation.
The counterpart of Cow::into_owned
for a whole value: a calendar read from a buffer that is about to go
away, or rebuilt from data that was never one line, needs exactly this.
Trait Implementations§
Source§impl<'v> Codec<'v> for IcalValue<'v>
Available on crate feature parser only.
impl<'v> Codec<'v> for IcalValue<'v>
parser only.Source§fn decode(node: &'v IcalValueNode<'_>) -> Self
fn decode(node: &'v IcalValueNode<'_>) -> Self
Decode liberally as raw Unknown.
No value kind is known at this level, that being the spec’s job, so the
version-divergent lenses whose target is IcalValue override the lens
decode to resolve the real kind; this fallback is what others inherit.
Source§fn encode(&self, escaper: Escaper) -> IcalValueNode<'static>
fn encode(&self, escaper: Escaper) -> IcalValueNode<'static>
Encode by dispatching to the held value’s own codec.