go method

String? go(
  1. String rule,
  2. String prefix
)

Implementation

String? go(String rule, String prefix) {
  String input = prefix + value!;
  //upperCamelCase
  if (rule == 'ucc') {
    if (input.length > 1) {
      input = input[0].toUpperCase() + input.substring(1);
      input = input.replaceAllMapped(RegExp(r'_([A-z])'), (Match match) {
        return match.group(0)!.replaceAll('_', '').toUpperCase();
      }).replaceAll('_', '');
    } else {
      input = input.toUpperCase();
    }
  }
  //lowercaseCamelCase
  else if (rule == 'lcc') {
    if (input.length > 1) {
      input = input[0].toLowerCase() + input.substring(1);
      input = input.replaceAllMapped(RegExp(r'_([A-z])'), (Match match) {
        return match.group(0)!.replaceAll('_', '').toUpperCase();
      }).replaceAll('_', '');
    } else {
      input = input.toLowerCase();
    }
  }
  //lowercase_with_underscores
  else if (rule == 'lwu') {
    if (input.length > 1) {
      input = input[0].toLowerCase() + input.substring(1);
      input = input.replaceAllMapped(RegExp('([a-z])([A-Z])'), (Match match) {
        return '${match.group(0)![0]}_${match.group(0)![1].toLowerCase()}';
      });
    } else {
      input = input.toLowerCase();
    }
  }

  return input;
}