FreeBusy.fromICalString constructor
FreeBusy.fromICalString(
- String icalString
Implementation
factory FreeBusy.fromICalString(String icalString) {
final lines = icalString.split('\n');
DateTime? start;
DateTime? end;
List<TimeRange>? busy;
for (final line in lines) {
if (line.startsWith('DTSTART:')) {
start = DateTime.parse(line.substring(8));
} else if (line.startsWith('DTEND:')) {
end = DateTime.parse(line.substring(6));
} else if (line.startsWith('FREEBUSY:')) {
final parts = line.substring(10).split('/');
busy = parts.map((part) => TimeRange.fromICalString(part)).toList();
}
}
if (start == null || end == null || busy == null) {
throw FormatException('Invalid iCalendar string: $icalString');
}
return FreeBusy(start: start, end: end, busy: busy);
}