generateRandomString method

String generateRandomString({
  1. int length = 8,
  2. bool useLetters = true,
  3. bool useNumbers = true,
  4. bool useSymbols = true,
})

Generates a random string with configurable character sets.

length: The length of the string (default: 8). Must be positive. useLetters: Include alphabetic characters (default: true). useNumbers: Include numeric characters (default: true). useSymbols: Include special symbols (default: true). Returns a random string based on the selected character sets.

Implementation

String generateRandomString({
  int length = 8,
  bool useLetters = true,
  bool useNumbers = true,
  bool useSymbols = true,
}) {
  if (length <= 0) {
    throw ArgumentError.value(length, 'length', 'Must be positive');
  }
  if (!useLetters && !useNumbers && !useSymbols) {
    throw ArgumentError('At least one character set must be enabled');
  }

  String characters = '';
  if (useLetters) characters += IdGeneratorUtils.alpha;
  if (useNumbers) characters += IdGeneratorUtils.numbers;
  if (useSymbols) characters += IdGeneratorUtils.symbols;

  return IdGeneratorUtils.generateRandomString(
    length: length,
    characters: characters,
    random: _random,
  );
}