fantasy-name-generator
Version:
An easy to use race-based fantasy name generator. With TypeScript!
76 lines (75 loc) • 2.49 kB
JavaScript
"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!");
};