decodeEnum<T> static method

T? decodeEnum<T>(
  1. DartObject? obj,
  2. List<T> values
)

Implementation

static T? decodeEnum<T>(DartObject? obj, List<T> values) {
  if (obj == null || obj.isNull) return null;

  final variable = obj.variable;
  if (variable != null) {
    final index = obj.getField('index')?.toIntValue();
    if (index != null && index >= 0 && index < values.length) {
      return values[index];
    }
  }
  return null;
}