toSnakeCase method
Returns a new String by turning CamelCase
into snake_case
.
Implementation
String toSnakeCase() => [
RegExp(r'(.)([A-Z][a-z]+)'),
RegExp(r'()__([A-Z])'),
RegExp(r'([a-z0-9])([A-Z])'),
].fold(this, (String r, re) {
return r.replaceAllMapped(re, (match) => '${match[1]}_${match[2]}');
}).toLowerCase();