stDartIdentifier function
Lower-camel identifier from a token name (product-card → productCard).
Implementation
String stDartIdentifier(String name) {
final parts = name.split(RegExp(r'[^A-Za-z0-9]+'));
final buf = StringBuffer();
for (final part in parts) {
if (part.isEmpty) continue;
if (buf.isEmpty) {
buf.write(part[0].toLowerCase());
if (part.length > 1) buf.write(part.substring(1));
} else {
buf.write(part[0].toUpperCase());
if (part.length > 1) buf.write(part.substring(1));
}
}
var id = buf.toString();
if (id.isEmpty) id = 'token';
if (RegExp(r'^[0-9]').hasMatch(id)) id = 'n$id';
if (stDartReserved.contains(id)) id = '${id}_';
return id;
}