kebabCase property
String
get
kebabCase
Chuyển đổi chuỗi sang định dạng kebab-case. Ví dụ: "helloWorld" -> "hello-world", "my_awesome_class" -> "my-awesome-class"
Implementation
String get kebabCase {
if (isEmpty) return this;
// Chuyển PascalCase/camelCase sang kebab-case (thêm - trước chữ hoa)
String result = replaceAllMapped(
RegExp(r'(?<=[a-z])([A-Z])'),
(match) => '-${match.group(1)!.toLowerCase()}',
);
// Xử lý các trường hợp khác như dấu cách, gạch dưới thành gạch ngang
result = result.replaceAll(RegExp(r'[_ ]'), '-');
// Chuyển toàn bộ thành chữ thường và loại bỏ nhiều dấu gạch ngang liên tiếp
return result.toLowerCase().replaceAll(RegExp(r'-+'), '-');
}