Skip to content

Commit 7af190c

Browse files
authored
adiciona endereco completo com base em dados brasileiros (#3)
Adicionados geradores de endereço com base em dados brasileiros. - Cidade - Bairro - Estado - Logradouro
1 parent b2d67ff commit 7af190c

File tree

6 files changed

+5912
-0
lines changed

6 files changed

+5912
-0
lines changed

main.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@ module.exports.templateTags = [
88
require('./src/gerador/cnpj'),
99
require('./src/gerador/data'),
1010
require('./src/gerador/valores-random'),
11+
require('./src/gerador/bairro'),
12+
require('./src/gerador/cidade'),
13+
require('./src/gerador/estados'),
14+
require('./src/gerador/logradouro'),
1115
];

src/gerador/bairro.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const RandomUtils = require('../utils/RandomUtils')
2+
3+
const bairros = ['Centro', 'Jardim América', 'Copacabana', 'Sé']
4+
5+
module.exports = {
6+
name: 'bairro',
7+
displayName: 'Bairro',
8+
description: 'Gera um bairro brasileiro aleatório',
9+
args: [],
10+
run(context) {
11+
return bairros[RandomUtils.getRandomInt(0, bairros.length - 1)]
12+
},
13+
}

src/gerador/cidade.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
const estadosCidades = require('../utils/estados-cidades.json')
2+
const RandomUtils = require('../utils/RandomUtils')
3+
4+
module.exports = {
5+
name: 'cidade',
6+
displayName: 'Cidade',
7+
description: 'Gera uma cidade brasileira aleatória (pode ser limitada a um estado)',
8+
args: [
9+
{
10+
displayName: 'Estado',
11+
description: 'Sigla do estado',
12+
type: 'string',
13+
defaultValue: '',
14+
},
15+
],
16+
run(context, estadoSigla) {
17+
let estado
18+
19+
if (estadoSigla && estadoSigla.trim() !== '') {
20+
estado = estadosCidades.estados.find(
21+
(e) => e.sigla.toLowerCase() === estadoSigla.toLowerCase()
22+
)
23+
}
24+
25+
if (!estado) {
26+
estado =
27+
estadosCidades.estados[
28+
RandomUtils.getRandomInt(0, estadosCidades.estados.length - 1)
29+
]
30+
}
31+
32+
const cidade =
33+
estado.cidades[RandomUtils.getRandomInt(0, estado.cidades.length - 1)]
34+
35+
return cidade
36+
},
37+
}

src/gerador/estados.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const estadosCidades = require('../utils/estados-cidades.json')
2+
const RandomUtils = require('../utils/RandomUtils')
3+
4+
module.exports = {
5+
name: 'estado',
6+
displayName: 'Estado',
7+
description: 'Gera um estado brasileiro aleatório (sigla ou nome completo)',
8+
args: [
9+
{
10+
displayName: 'Formato',
11+
description: 'Define se o retorno será sigla ou nome completo',
12+
type: 'enum',
13+
defaultValue: 'sigla',
14+
options: [
15+
{ displayName: 'Sigla', value: 'sigla' },
16+
{ displayName: 'Nome Completo', value: 'nome' },
17+
],
18+
},
19+
],
20+
run(context, formato) {
21+
const estado =
22+
estadosCidades.estados[
23+
RandomUtils.getRandomInt(0, estadosCidades.estados.length - 1)
24+
]
25+
26+
if (formato === 'nome') {
27+
return estado.nome
28+
}
29+
30+
return estado.sigla
31+
},
32+
}

src/gerador/logradouro.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
const RandomUtils = require('../utils/RandomUtils')
2+
const logradouros = [
3+
'Rua',
4+
'Avenida',
5+
'Praça',
6+
'Travessa',
7+
'Alameda',
8+
'Rodovia',
9+
'Estrada',
10+
'Largo',
11+
'Vila',
12+
'Quadra',
13+
'Setor',
14+
'Conjunto',
15+
'Parque',
16+
'Via',
17+
'Passeio',
18+
]
19+
const nomesLogradouro = [
20+
'das Flores',
21+
'dos Coqueiros',
22+
'das Palmeiras',
23+
'dos Ipês',
24+
'das Acácias',
25+
'dos Pinheiros',
26+
'das Orquídeas',
27+
'dos Jasmins',
28+
'da Liberdade',
29+
'da Independência',
30+
'da República',
31+
'da União',
32+
'da Constituição',
33+
'Getúlio Vargas',
34+
'Dom Pedro II',
35+
'Marechal Deodoro',
36+
'Santos Dumont',
37+
'Tiradentes',
38+
'da Sé',
39+
'da Paz',
40+
'do Rosário',
41+
'São João',
42+
'Nossa Senhora Aparecida',
43+
'do Café',
44+
'do Açúcar',
45+
'do Ouro',
46+
'da Praia',
47+
'das Dunas',
48+
'do Sertão',
49+
'da Serra',
50+
'do Vale',
51+
]
52+
53+
module.exports = {
54+
name: 'logradouro',
55+
displayName: 'Logradouro',
56+
description: 'Gera um logradouro brasileiro aleatório',
57+
args: [],
58+
run(context) {
59+
const tipo =
60+
logradouros[RandomUtils.getRandomInt(0, logradouros.length - 1)]
61+
const nome =
62+
nomesLogradouro[RandomUtils.getRandomInt(0, nomesLogradouro.length - 1)]
63+
return `${tipo} ${nome}`
64+
},
65+
}

0 commit comments

Comments
 (0)