extractEnum<T extends Enum> static method

T? extractEnum<T extends Enum>(
  1. String reference,
  2. Map dataMap,
  3. List<T> values
)

Implementation

static T? extractEnum<T extends Enum>(
    String reference, Map dataMap, List<T> values) {
  T? defaultValue = _getDefaultValue<T>(reference);
  dynamic value = dataMap[reference];

  if (value is T) return value;

  if (value == null) return defaultValue;

  if (value is int) return defaultValue;

  if (value == null || value is! String) return defaultValue;

  if (AwesomeStringUtils.isNullOrEmpty(value,
      considerWhiteSpaceAsEmpty: true)) {
    return defaultValue;
  }

  String castedValue = value;
  castedValue = castedValue.trim();
  return enumToString<T>(castedValue, values, defaultValue);
}