safeGetAdditionalValue<T> method

T? safeGetAdditionalValue<T>(
  1. String key
)

Safely get an additional property value of type T.

Implementation

T? safeGetAdditionalValue<T>(final String key) {
  if (T is DateTime) {
    return getAdditionalDateTime(key) as T?;
  }
  if (T is Enum) {
    // This is a bit of a hack to get the enum values list from the type T.
    final enumValues = (T as dynamic).values as List<Enum>;
    return getAdditionalEnum(key, enumValues) as T?;
  }

  final value = additionalProperties[key];
  if (value is T) {
    return value;
  }
  return null;
}