PeriodOfTimeValue.fromCrawledStringValue constructor
PeriodOfTimeValue.fromCrawledStringValue(
- String value, {
- String? timeZoneIdentifier,
})
Implementation
factory PeriodOfTimeValue.fromCrawledStringValue(
String value, {
String? timeZoneIdentifier,
}) {
final DateTimeValue start = DateTimeValue.fromCrawledStringValue(
value.split("/").first,
timeZoneIdentifier: timeZoneIdentifier,
);
final isDuration = value.split("/").last.toUpperCase().startsWith("P");
if (isDuration) {
final duration = DurationValue.fromCrawledStringValue(
value.split("/").last,
);
return PeriodOfTimeValue(
start: start.value,
duration: duration.value,
durationInWeeks: duration.inWeeks,
fixed: start.fixed,
timeZoneIdentifier: timeZoneIdentifier,
);
}
return PeriodOfTimeValue(
start: start.value,
end: DateTimeValue.fromCrawledStringValue(
value.split("/").last,
timeZoneIdentifier: timeZoneIdentifier,
).value,
fixed: start.fixed,
timeZoneIdentifier: timeZoneIdentifier,
);
}