namecrafter
Version:
Generate random names - full names or individual first, middle, and last names
112 lines • 4.3 kB
JavaScript
;
// 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