UNPKG

fantasy-name-generator

Version:

An easy to use race-based fantasy name generator. With TypeScript!

76 lines (75 loc) 2.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var speciesGenerator_1 = require("./speciesGenerator"); var racesWithGender = [ "cavePerson", "dwarf", "halfling", "gnome", "elf", "highelf", "fairy", "highfairy", "darkelf", "drow", "halfdemon", "dragon", "angel", ]; var otherRaces = ["demon", "human", "goblin", "ogre", "orc"]; exports.allRaces = { otherRaces: otherRaces, racesWithGender: racesWithGender, sorted: function () { return racesWithGender.concat(otherRaces).sort(); }, }; exports.generateName = function (race, options) { if (options === void 0) { options = {}; } var gender = options.gender, allowMultipleNames = options.allowMultipleNames; if (racesWithGender.includes(race) && gender !== undefined) { switch (race) { case "angel": return speciesGenerator_1.angel(gender); case "cavePerson": return speciesGenerator_1.cavePerson(gender); case "darkelf": return speciesGenerator_1.darkelf(gender); case "dragon": return speciesGenerator_1.dragon(gender); case "drow": return speciesGenerator_1.drow(gender); case "dwarf": return speciesGenerator_1.dwarf(gender); case "elf": return speciesGenerator_1.elf(gender); case "fairy": return speciesGenerator_1.fairy(gender); case "gnome": return speciesGenerator_1.gnome(gender); case "halfdemon": return speciesGenerator_1.halfdemon(gender); case "halfling": return speciesGenerator_1.halfling(gender); case "highelf": return speciesGenerator_1.highelf(gender); case "highfairy": return speciesGenerator_1.highfairy(gender); default: break; } } switch (race) { case "demon": return speciesGenerator_1.demon(); case "goblin": return speciesGenerator_1.goblin(); case "human": return speciesGenerator_1.human(allowMultipleNames); case "ogre": return speciesGenerator_1.ogre(); case "orc": return speciesGenerator_1.orc(); default: break; } return new Error("Must provide a gender!"); };