UNPKG

generate-human-names

Version:
61 lines 2.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.genNames = void 0; const surnames_json_1 = __importDefault(require("./surnames.json")); const females_json_1 = __importDefault(require("./females.json")); const males_json_1 = __importDefault(require("./males.json")); function genNames(options = {}) { const gpool = []; if (options.gender) { if (options.gender.toLowerCase() == 'female') { gpool.push(...females_json_1.default.names); } else if (options.gender.toLowerCase() == 'male') { gpool.push(...males_json_1.default.names); } else { gpool.push(...[...females_json_1.default.names, ...males_json_1.default.names]); } } else { gpool.push(...[...females_json_1.default.names, ...males_json_1.default.names]); } let count = 1; if (options.count && !isNaN(options.count) && options.count > 0) { count = options.count; } let surname = false; let lpool = []; if (options.surname) { surname = true; lpool = surnames_json_1.default.names; } const names = []; let x = 0; while (x < count) { const rand = Math.floor(Math.random() * gpool.length); let tempFirst = gpool[rand].toLowerCase(); let tempFirstArr = tempFirst.split(''); tempFirstArr[0] = tempFirstArr[0].toUpperCase(); const resolvedFirst = tempFirstArr.join(''); let resolvedLast; if (surname) { const randl = Math.floor(Math.random() * lpool.length); let tempLast = lpool[randl].toLowerCase(); let tempLastArr = tempLast.split(''); tempLastArr[0] = tempLastArr[0].toUpperCase(); resolvedLast = tempLastArr.join(''); } names.push({ first: resolvedFirst, last: resolvedLast }); x++; } return names; } exports.genNames = genNames; //# sourceMappingURL=index.js.map