calculateConversion method
Implementation
Converter? calculateConversion(SourceNode sourceNode) {
var conversion = match!.converter;
var deep = match!.deep;
Converter<dynamic,dynamic>? result;
// check conversion
var sourceType = sourceNode.accessor.type;
var targetType = accessor.type;
if ( conversion != null) {
// manual conversion, check types!
var from = conversion.sourceType;
var to = conversion.targetType;
if ( from != sourceType)
throw MapperException("conversion source type $from does not match $sourceType");
if ( to != targetType)
throw MapperException("conversion target type $to does not match $targetType");
result = conversion.sourceConverter();
}
else if (sourceType != targetType && /* !sourceType.isSubclassOf(targetType)*/ !deep )
result = tryConvert(sourceType, targetType); // try automatic conversion for low-level types
return result;
}