stDartIdentifier function

String stDartIdentifier(
  1. String name
)

Lower-camel identifier from a token name (product-cardproductCard).

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;
}