resolve method
Implementation
Danger<String, ImmatureCitrusSemanticException> resolve(CitrusSymbolTable symbolTable) {
final log = Log(classLocation: runtimeType, functionLocation: 'resolve');
final accesserResolveResult = accesser.resolve(symbolTable);
log.add(accesserResolveResult);
if (accesserResolveResult is! Success<CitrusSymbolValue, AccesserException>) return Failure(accesserResolveResult.asException, log);
final symbolValue = accesserResolveResult.wrapped;
switch (symbolValue) {
case CitrusText():
final changeCaseResult = changeCase(symbolValue.value);
return Success(changeCaseResult, log);
case CitrusFlag():
final changeCaseResult = changeCase(symbolValue.value.toString());
return Success(changeCaseResult, log);
case _:
return Failure(ChangeCaseExceptionB(), log.monitor({
'invalid symbol value': symbolValue.runtimeType,
}));
}
}