parse static method
Parses the given definition
and generates a corresponding Parameter.
Implementation
static Parameter parse(String definition) {
final splitIndex = definition.indexOf('=');
if (splitIndex == -1) {
throw FormatException(
'No equals sign (=) found in parameter [$definition]',
);
}
final name = definition.substring(0, splitIndex);
final textValue = definition.substring(splitIndex + 1);
switch (name) {
case 'ALTREP':
return UriParameter(
name,
textValue,
);
case 'CN':
return TextParameter(name, textValue);
case 'CUTYPE':
return CalendarUserTypeParameter(name, textValue);
case 'DELEGATED-FROM':
return UriParameter(name, textValue);
case 'DELEGATED-TO':
return UriParameter(name, textValue);
case 'DIR':
return UriParameter(name, textValue);
case 'ENCODING':
return TextParameter(name, textValue);
case 'FMTTYPE':
return TextParameter(name, textValue);
case 'FBTYPE':
return FreeBusyTimeTypeParameter(
name,
textValue,
);
case 'LANGUAGE':
return TextParameter(name, textValue);
case 'MEMBER':
return UriListParameter(name, textValue);
case 'PARTSTAT':
return ParticipantStatusParameter(name, textValue);
case 'RANGE':
return RangeParameter(name, textValue);
case 'RELATED':
return AlarmTriggerRelationshipParameter(name, textValue);
case 'RELTYPE':
return RelationshipParameter(name, textValue);
case 'ROLE':
return ParticipantRoleParameter(name, textValue);
case 'RSVP':
return BooleanParameter(name, textValue);
case 'SENT-BY':
return UriParameter(name, textValue);
case 'TZID':
return TextParameter(name, textValue);
case 'VALUE':
return ValueParameter(name, textValue);
case 'X-FILENAME':
return TextParameter(name, textValue);
case 'EMAIL':
return TextParameter(name, textValue);
default:
print('Encountered unsupported parameter [$name]');
return TextParameter(name, textValue);
}
}