nameFromClass static method
SignUpPlaybook, SignUp and sign-up all become sign_up.
Implementation
static String nameFromClass(String className) {
String base = className.trim().replaceFirst(RegExp(r'^_+'), '');
if (base.endsWith('Playbook') && base.length > 'Playbook'.length) {
base = base.substring(0, base.length - 'Playbook'.length);
}
return base
.replaceAllMapped(
RegExp(r'([a-z0-9])([A-Z])'),
(Match match) => '${match[1]}_${match[2]}',
)
.replaceAllMapped(
RegExp(r'([A-Z]+)([A-Z][a-z])'),
(Match match) => '${match[1]}_${match[2]}',
)
.replaceAll('-', '_')
.toLowerCase();
}