camelOrPascalToSnake method
Converts this string from camel-case or pascal-case to snake-case.
void foo() {
print('abcDef'.camelToSnake()); // 'abc_def'
print('AbcDef'.camelToSnake()); // 'abc_def'
}
Implementation
String camelOrPascalToSnake() {
// See https://stackoverflow.com/a/1176023
return replaceAllMapped(
RegExp("(?<!^)(?=[A-Z])"),
(m) => "_${m.group(0)!}",
).toLowerCase();
}