generateRandomString static method

String generateRandomString(
  1. int length,
  2. RandomClientMode mode,
  3. bool nonleadzero
)

Implementation

static String generateRandomString(
    int length, RandomClientMode mode, bool nonleadzero) {
  StringBuffer buffer = new StringBuffer();
  String characters = "";
  switch (mode) {
    case RandomClientMode.ALPHA:
      characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
      break;
    case RandomClientMode.ALPHANUMERIC:
      characters =
          "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
      break;
    case RandomClientMode.NUMERIC:
      characters = "1234567890";
      break;
  }
  int charactersLength = characters.length;
  for (int i = 0; i < length; i++) {
    int index = generateNextRandomInt(charactersLength);

    int ch = characters.codeUnitAt(index);
    if (nonleadzero && (ch == '0'.codeUnitAt(0))) {
      index = generateNextRandomInt(charactersLength - 1);
    }
    buffer.write(String.fromCharCode(characters.codeUnitAt(index)));
  }
  return buffer.toString();
}