String toDashCase(String str) { return str .replaceAll(RegExp(r'[ _]+'), '-') .replaceAllMapped(RegExp(r'(?<=[a-z0-9])(?=[A-Z])'), (match) => '-') .toLowerCase(); }