tryParse static method
Implementation
static DOI? tryParse(String value) {
bool found;
String prefix, suffix;
(prefix, suffix, found) = value.cutFirst('/');
if (!found) {
return null;
}
if (prefix.isEmpty || suffix.isEmpty) {
return null;
}
String directoryIndicatorStr, registrantCode;
(directoryIndicatorStr, registrantCode, found) = prefix.cutFirst('.');
if (!found) {
return null;
}
if (directoryIndicatorStr.isEmpty || registrantCode.isEmpty) {
return null;
}
final parseResult = DigitString.tryParse(directoryIndicatorStr);
if (parseResult != null) {
DigitString directoryIndicator = parseResult;
final registrantCodes = _parseRegistrantCode(registrantCode);
if (registrantCodes == null || registrantCodes.isEmpty) {
return null;
}
final doi = DOI._(directoryIndicator, registrantCodes, suffix);
return doi;
}
return null;
}