getNullableEnumProperty<TEnum> method
Property<TEnum?>
getNullableEnumProperty<
TEnum>( - String name,
- List<TEnum> enumValues, {
- TEnum defaultValue()?,
- bool isImmutable = true,
})
Implementation
Property<TEnum?> getNullableEnumProperty<TEnum>(
String name,
List<TEnum> enumValues, {
TEnum Function()? defaultValue,
bool isImmutable = true,
}) {
return getNullableProperty<TEnum>(
name,
(s) {
var lowerCaseInput = s.toLowerCase();
return enumValues.firstWhere(
(e) {
var enumString = e.toString().toLowerCase();
if (enumString == lowerCaseInput) {
return true;
}
var lastPart = enumString.split('.').last;
return lastPart == lowerCaseInput;
},
orElse: defaultValue ?? (() => null) as TEnum Function()?,
);
},
defaultValue ?? () => null,
isImmutable: isImmutable,
);
}