byNameCaseInsensitive<T extends Enum> static method
Creates a parser that matches names case-insensitively.
Both the input and enum names are lowercased before comparison. Useful
for APIs that inconsistently return PENDING, Pending, or pending.
Throws ArgumentError if no matching enum value is found.
Implementation
static T Function(dynamic) byNameCaseInsensitive<T extends Enum>(
List<T> values,
) => (dynamic obj) {
final str = obj.toString().trim().toLowerCase();
return values.firstWhere(
(e) => e.name.toLowerCase() == str,
orElse: () => throw ArgumentError('Invalid enum value: $obj'),
);
};