from static method
Implementation
static Danger<Accesserable, CitrusSyntaxException> from(String identifier) {
final log = Log(classLocation: Accesserable, functionLocation: 'from');
if (identifier == Period.VALUE) return Success(Period(), log);
final idResult = IdentifierableCollection.from(identifier);
log.add(idResult);
if (idResult is! Success<IdentifierableCollection, CitrusSyntaxException>) return Failure(idResult.asException, log);
final identifierResult = Identifier.from(identifier);
log.add(identifierResult);
if (identifierResult is! Success<Identifier, CitrusSyntaxException>) return Failure(identifierResult.asException, log);
final result = identifierResult.wrapped;
switch (result) {
case UserDefined(): return Success(result, log);
case ChangeCaseKeyword(): return Success(result, log);
case _: return Failure(CitrusSyntaxExceptionA(), log.monitor({
'message': 'identifier is not Accesserable',
'type': result.runtimeType,
'value': result.source,
}));
}
}