convert method

dynamic convert(
  1. dynamic value,
  2. Type fromType,
  3. Type toType
)

Implementation

dynamic convert(dynamic value, Type fromType, Type toType) {
  if (value == null || fromType == toType) return value;

  final key = TypeKey(fromType, toType);
  final converter = _converters[key];

  if (converter != null) return converter(value);

  // fallback if exact runtime types match
  if (value.runtimeType == toType)
    return value;

  throw UnsupportedError('No converter registered for $fromType -> $toType');
}