sanitizeEnumValue function

String sanitizeEnumValue(
  1. String raw
)

Implementation

String sanitizeEnumValue(String raw) {
  // Convert arbitrary strings to a safe enum value token.
  // Lower + non-alnum to underscore, collapse repeats.
  String v = raw.trim().toLowerCase().replaceAll(RegExp(r'[^a-z0-9]+'), '_');
  v = v.replaceAll(RegExp(r'^_+|_+$'), '');
  if (v.isEmpty) v = 'value';
  if (RegExp(r'^\d').hasMatch(v)) v = '_$v';
  return v;
}