snakeCase property
JsonCraftFormatter
get
snakeCase
Implementation
static JsonCraftFormatter get snakeCase => JsonCraftFormatter(
name: 'snakeCase',
formatter: (value, param, getValue) {
// Primeiro converte espaços e hífens para underscore
String result = value.replaceAll(RegExp(r'[\s-]+'), '_');
// Depois adiciona underscore antes de letras maiúsculas
result = result.replaceAllMapped(RegExp(r'([a-z])([A-Z])'), (match) {
return '${match.group(1)}_${match.group(2)}';
});
return result
.toLowerCase()
.replaceAll(RegExp(r'^_+'), '')
.replaceAll(RegExp(r'_+'), '_');
},
);