gerador-br
Version:
Gerador de Dados Fictícios - Brasil
200 lines (176 loc) • 6.09 kB
JavaScript
'use strict';
var dbGeneral = require('./data/db-general.cjs');
/**
* Retorna um número inteiro aleatório entre min (inclusive) e max (exclusivo).
* @param {number} min - O limite inferior (inclusivo).
* @param {number} max - O limite superior (exclusivo).
* @returns {number} Um número inteiro aleatório entre min e max.
*/
const randomInt = (min, max) => {
return Math.floor(Math.random() * (max - min)) + min;
};
/**
* Retorna um elemento aleatório de um array.
* @param {Array} arr - O array do qual deve ser extraído um elemento aleatório.
* @returns {*} Um elemento aleatório do array.
*/
const getRandom = (arr) => {
const index = randomInt(0, arr.length); // Gera um índice aleatório no intervalo do array
return arr[index];
};
/**
* Uma sigla de estado aleatória.
* @type {string}
* @example
* console.log(stateRand); // Retorna qualquer sigla de estado, como "SP", "RJ", etc.
*/
const stateRand = getRandom(dbGeneral.siglasEstados);
/**
* Um nome aleatório.
* @type {string}
* @example
* console.log(nomeAleatorio); // Retorna qualquer nome masculino ou feminino.
*/
const nomeAleatorioRand = getRandom([...dbGeneral.nomesFemininos, ...dbGeneral.nomesMasculinos]);
/**
* Um nome masculino aleatório.
* @type {string}
* @example
* console.log(nomeMasculinoRand); // Retorna qualquer nome masculino, como "Abel", "Abner", etc.
*/
const nomeMasculinoRand = getRandom(dbGeneral.nomesMasculinos);
/**
* Um nome feminino aleatório.
* @type {string}
* @example
* console.log(nomeFemininoRand); // Retorna qualquer nome feminino, como "Ana", "Maria", etc.
*/
const nomeFemininoRand = getRandom(dbGeneral.nomesFemininos);
/**
* Um nome do meio aleatório.
* @type {string}
* @example
* console.log(nomeDoMeioRand); // Retorna qualquer nome do meio, como "Alencar", "Almeida", etc.
*/
const nomeDoMeioRand = getRandom(dbGeneral.nomesDoMeio);
/**
* Um sobrenome aleatório.
* @type {string}
* @example
* console.log(sobrenomeRand); // Retorna qualquer sobrenome, como "Alves", "Amorim", etc.
*/
const sobrenomeRand = getRandom(dbGeneral.sobrenomes);
/**
* Um nome do pai aleatório.
* @type {string}
* @example
* console.log(nomePaiRand); // Retorna qualquer nome masculino, como "Abel", "Abner", etc.
*/
const nomePaiRand = getRandom(dbGeneral.nomesMasculinos);
/**
* Um nome da mãe aleatório.
* @type {string}
* @example
* console.log(nomeMaeRand); // Retorna qualquer nome feminino, como "Aaliyah", "Adelaide", etc.
*/
const nomeMaeRand = getRandom(dbGeneral.nomesFemininos);
/**
* Um apelido aleatório.
* @type {string}
* @example
* console.log(apelidoRand); // Retorna qualquer apelido, como "Ace", "Alpha", etc.
*/
const apelidoRand = getRandom(dbGeneral.nicknames);
/**
* Um provedor de email aleatório.
* @type {string}
* @example
* console.log(provedorEmailRand); // Retorna qualquer provedor de email, como:
* "@gmail.com", "@yahoo.com", etc.
*/
const provedorEmailRand = getRandom(dbGeneral.provedoresEmail);
/**
* Uma palavra aleatória.
* @type {string}
* @example
* console.log(palavraRand); // Retorna qualquer palavra, como "lorem", "ipsum", etc.
*/
getRandom(dbGeneral.palavras);
/**
* Uma orientação sexual aleatória.
* @type {string}
* @example
* console.log(orientacaoSexualRand); // Retorna qualquer orientação sexual, como:
* "Heterossexual", "Homossexual", etc.
*/
const orientacaoSexualRand = getRandom(dbGeneral.orientacaoSexual);
/**
* Uma identidade de gênero aleatória.
* @type {string}
* @example
* console.log(identidadeGeneroRand); // Retorna qualquer identidade de gênero, como:
* "Cisgênero", "Transgênero", etc.
*/
const identidadeGeneroRand = getRandom(dbGeneral.identidesGenero);
/**
* Identidade de gênero associada à orientação sexual selecionada.
* @type {string[]}
* @example
* console.log(identidadePorOrientacaoRand); // Retorna uma lista de identidades de gênero como:
* ["Cisgênero", "Transgênero"].
*/
const identidadePorOrientacaoRand = dbGeneral.identidadesPorOrientacao[orientacaoSexualRand];
/**
* Uma raça ou cor aleatória.
* @type {string}
* @example
* console.log(corPeleRand); // Retorna qualquer raça ou cor, como "Branca", "Preta", etc.
*/
const corPeleRand = getRandom(dbGeneral.corPele);
/**
* Um tipo sanguíneo aleatório.
* @type {string}
* @example
* console.log(tipoSanguineoRand); // Retorna qualquer tipo sanguíneo, como "A+", "O-", etc.
*/
const tipoSanguineoRand = getRandom(dbGeneral.tiposSanguineo);
/**
* Uma categoria de CNH aleatória.
* @type {string}
* @example
* console.log(categoriaCnhRand); // Retorna qualquer categoria de CNH, como "A", "B", "C", etc.
*/
const categoriaCnhRand = getRandom(dbGeneral.categoriasCnh);
/**
* Uma profissão aleatória.
* @type {string}
* @example
* console.log(profissaoRand); // Retorna qualquer profissão, como "Engenheiro", "Médico", "Professor", etc.
*/
const profissaoRand = getRandom(dbGeneral.profissao);
/**
* Uma escolaridade aleatória.
* @type {string}
* @example
* console.log(escolaridadeRand); // Retorna qualquer nível de escolaridade, como "Ensino Médio Completo", "Doutorado", "Pós-graduação", etc.
*/
const escolaridadeRand = getRandom(dbGeneral.escolaridade);
exports.apelidoRand = apelidoRand;
exports.categoriaCnhRand = categoriaCnhRand;
exports.corPeleRand = corPeleRand;
exports.escolaridadeRand = escolaridadeRand;
exports.getRandom = getRandom;
exports.identidadeGeneroRand = identidadeGeneroRand;
exports.identidadePorOrientacaoRand = identidadePorOrientacaoRand;
exports.nomeAleatorioRand = nomeAleatorioRand;
exports.nomeDoMeioRand = nomeDoMeioRand;
exports.nomeFemininoRand = nomeFemininoRand;
exports.nomeMaeRand = nomeMaeRand;
exports.nomeMasculinoRand = nomeMasculinoRand;
exports.nomePaiRand = nomePaiRand;
exports.orientacaoSexualRand = orientacaoSexualRand;
exports.profissaoRand = profissaoRand;
exports.provedorEmailRand = provedorEmailRand;
exports.sobrenomeRand = sobrenomeRand;
exports.stateRand = stateRand;
exports.tipoSanguineoRand = tipoSanguineoRand;