parseRecurrenceDateTime function
Parses a CalendarProperty into a recurrence date-time value.
Implementation
RecurrenceDateTime parseRecurrenceDateTime(CalendarProperty property) {
final valueType =
property.parameters['VALUE']?.first ?? ValueTypeNames.dateTime;
if (valueType == ValueTypeNames.date) {
final date = parseCalDate(property);
return RecurrenceDateTime.dateTime(date);
}
if (valueType == ValueTypeNames.dateTime) {
final dateTime = parseCalDateTime(property);
return RecurrenceDateTime.dateTime(dateTime);
}
if (valueType == ValueTypeNames.period) {
final period = parsePeriod(property);
return RecurrenceDateTime.period(period);
}
throw ParseException(
'Invalid value type "$valueType" for property "${property.name}"',
lineNumber: property.lineNumber,
);
}