-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
114 lines (107 loc) · 2.17 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/usr/bin/env node
"use strict";
import clipboard from 'clipboardy';
const adjetivos = [
'inoxidável',
'nobre edil',
'magnânim_', //o,a
'lest_',
'díspar',
'epistêmic_',
'cornucópi_',
'longânime',
'indulgente',
'esclarecid_',
'genial',
'preemptiv_',
'batráqui_',
'polinomial',
'industrios_',
'pundonoros_',
'judicios_',
'luminar',
'cativante',
'afável',
'prazenteir_',
'burlesc_',
'folgaz+', //ão,ona
'patusc_',
'êufon_',
'agradável',
'asseverativ_',
'lhan_',
'lídim_',
'cios_',
'brios_',
'magnétic_',
'indulgente',
'credível',
'circunspect_',
'desenvolt_',
'eloquente',
'doctíloqu_',
'facund_',
'homilétic_',
'altiloquente',
'metafísic_',
'internacional',
'jovial',
'parenétic_',
'preternatural',
'fádic_',
'prodigios_',
'deífic_',
'hiperbólic_',
'exuberante',
'supin_',
'episódic_',
'adventíci_',
'fortuit_',
'memorios_',
'urban_',
'indelével',
'cônsci_',
'filantrop_',
'perene',
'imperecível',
'incorruptível',
'indefectível',
'indeteriorável',
'de sabedoria macróbia',
'pluricelular',
'loquaz',
'dout_',
'erudit_',
'prolegômen_',
];
const args = process.argv.slice(2);
const genero = (args[0] || 'm').toLowerCase() === 'm' ? 'm' : 'f';
const qtd = parseInt(args[1] || 3);
if(isNaN(qtd)){
console.error('The second parameter must be an integer number.');
process.exit(1);
}
function gerar(){
const elogiosSelecionados = (shuffle(adjetivos)).slice(0, qtd).map((v) => {
v = v.replace('_',genero==='f'?'a':'o');
v = v.replace('+',genero==='f'?'ona':'ão');
return v;
});
const textoFinal = elogiosSelecionados.join(', ').replace(/,(?=[^,]*$)/, ' e');
return textoFinal;
}
const result = gerar();
clipboard.writeSync(result);
console.log(result);
//https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array#:~:text=algorithm%20is%20the-,Fisher%2DYates,-(aka%20Knuth)%20Shuffle
function shuffle(array) {
let currentIndex = array.length, randomIndex;
while (currentIndex != 0) {
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex--;
[array[currentIndex], array[randomIndex]] = [
array[randomIndex], array[currentIndex]
];
}
return array;
}