gerarNomeAleatorio static method

StringList gerarNomeAleatorio({
  1. bool sobrenomeUnico = false,
  2. bool nomeComposto = false,
  3. bool masculino = true,
  4. bool feminino = true,
})

Gera um nome aleatório com opções personalizáveis.

Esta função gera um nome aleatório com base nas opções fornecidas. Os parâmetros opcionais permitem controlar o gênero do nome gerado, se o nome é composto ou não, e se o sobrenome deve ser único.

Parâmetros:

  • sobrenomeUnico: Define se o sobrenome deve ser único. O valor padrão é false.
  • nomeComposto: Define se o nome deve ser composto. O valor padrão é false.
  • masculino: Define se o nome gerado pode ser masculino. O valor padrão é true.
  • feminino: Define se o nome gerado pode ser feminino. O valor padrão é true.

Retorna: Um String contendo o nome aleatório gerado.

Exemplo:

String nome = gerarNomeAleatorio();
print(nome); // Exemplo de saída: "João Silva"

Implementation

static StringList gerarNomeAleatorio({bool sobrenomeUnico = false, bool nomeComposto = false, bool masculino = true, bool feminino = true}) {
  if (masculino == false && feminino == false) {
    masculino = randomBool();
    feminino = !masculino;
  }
  var l = nomesComuns;
  if (masculino == false) l = nomesFemininosComuns;
  if (feminino == false) l = nomesMasculinosComuns;
  var s1 = sobrenomesComuns[randomInt(0, sobrenomesComuns.length)];
  var s2 = sobrenomesComuns[randomInt(0, sobrenomesComuns.length)];
  var n1 = l[randomInt(0, l.length)];
  var n2 = l[randomInt(0, l.length)].blankIf((s) => nomeComposto == false || randomBoolWithFactor(30) || n1 == s);
  if (randomBool() || s1 == s2 || sobrenomeUnico) s2 = "";
  return [
    [n1, n2].whereValid.join(" "),
    [s1, s2].whereValid.join(" ")
  ];
}