@benev/slate
Version:
frontend web stuff
68 lines • 1.54 kB
JavaScript
const vowels = [..."aeiou"];
const consonants = [..."bcdfghjklmnpqrstvwxyz"];
const patterns = {
firstName: [
"oxo",
"ox",
"oxox",
"oxoo",
"ooxo",
"xo",
"xox",
"xoxo",
"xoox",
"xooxo",
"xoxox",
"xoxxo",
"xoxxox",
"xoxoo",
"xoxoox",
],
lastName: [
"oxxoxo",
"oxoxxox",
"oxooxo",
"oxooxox",
"oxooxoo",
"xoxxoxo",
"xoxxoo",
"xooxxo",
"xooxox",
"xoxxoxox",
"xoxoxoxo",
"xoxoxoxox",
"xoxxoxo",
"xoxoxxox",
],
};
function grabOne(arr) {
const index = Math.floor(Math.random() * arr.length);
return arr[index];
}
function generateName(patterns) {
const pattern = grabOne(patterns);
const name = [];
for (const character of pattern)
switch (character) {
case "x":
name.push(grabOne(consonants));
break;
case "o":
name.push(grabOne(vowels));
break;
default: name.push(" ");
}
return name
.map((c, i) => i === 0 ? c.toUpperCase() : c)
.join("");
}
export function randomFirstName() {
return generateName(patterns.firstName);
}
export function randomLastName() {
return generateName(patterns.lastName);
}
export function randomFullName() {
return `${randomFirstName()} ${randomLastName()}`;
}
//# sourceMappingURL=random-names.js.map