UNPKG

@benev/slate

Version:
68 lines 1.54 kB
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