UNPKG

namecrafter

Version:

Generate random names - full names or individual first, middle, and last names

112 lines 4.3 kB
"use strict"; // Copyright © 2025 James Johns - All Rights Reserved // NameCrafter - Elegant Name Generation var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.randomLastName = exports.randomMiddleName = exports.randomFirstName = exports.NameGenerator = void 0; var first_names_json_1 = __importDefault(require("./first-names.json")); var middle_names_json_1 = __importDefault(require("./middle-names.json")); var last_names_json_1 = __importDefault(require("./last-names.json")); /** * A class that provides methods for generating random names */ var NameGenerator = /** @class */ (function () { function NameGenerator() { } /** * Generates a random first name * @returns {string} A randomly generated first name * @example * ```typescript * // As a static method * import { NameGenerator } from 'namecrafter'; * const firstName = NameGenerator.randomFirstName(); // e.g. "John" * * // Or with an instance * const generator = new NameGenerator(); * const firstName = generator.randomFirstName(); * ``` */ NameGenerator.randomFirstName = function () { return first_names_json_1.default[Math.floor(Math.random() * first_names_json_1.default.length)]; }; /** * Generates a random middle name * @returns {string} A randomly generated middle name * @example * ```typescript * // As a static method * import { NameGenerator } from 'namecrafter'; * const middleName = NameGenerator.randomMiddleName(); // e.g. "Michael" * * // Or with an instance * const generator = new NameGenerator(); * const middleName = generator.randomMiddleName(); * ``` */ NameGenerator.randomMiddleName = function () { return middle_names_json_1.default[Math.floor(Math.random() * middle_names_json_1.default.length)]; }; /** * Generates a random last name * @returns {string} A randomly generated last name * @example * ```typescript * // As a static method * import { NameGenerator } from 'namecrafter'; * const lastName = NameGenerator.randomLastName(); // e.g. "Smith" * * // Or with an instance * const generator = new NameGenerator(); * const lastName = generator.randomLastName(); * ``` */ NameGenerator.randomLastName = function () { return last_names_json_1.default[Math.floor(Math.random() * last_names_json_1.default.length)]; }; /** * Instance method for generating a random first name */ NameGenerator.prototype.randomFirstName = function () { return NameGenerator.randomFirstName(); }; /** * Instance method for generating a random middle name */ NameGenerator.prototype.randomMiddleName = function () { return NameGenerator.randomMiddleName(); }; /** * Instance method for generating a random last name */ NameGenerator.prototype.randomLastName = function () { return NameGenerator.randomLastName(); }; /** * Generates a random full name consisting of a first name, middle name, and last name * @returns {string} A randomly generated full name * @example * ```typescript * import { NameGenerator } from 'namecrafter'; * const generator = new NameGenerator(); * const name = generator.randomName(); // e.g. "John Michael Smith" * ``` */ NameGenerator.prototype.randomName = function () { var randomFirst = this.randomFirstName(); var randomMiddle = this.randomMiddleName(); var randomLast = this.randomLastName(); return "".concat(randomFirst, " ").concat(randomMiddle, " ").concat(randomLast); }; return NameGenerator; }()); exports.NameGenerator = NameGenerator; // Export the class as the default export exports.default = NameGenerator; // Export static methods directly for easier access exports.randomFirstName = NameGenerator.randomFirstName; exports.randomMiddleName = NameGenerator.randomMiddleName; exports.randomLastName = NameGenerator.randomLastName; //# sourceMappingURL=nameGenerator.js.map