Skip to content

docs: update name jsdocs #391

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Feb 1, 2022
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 79 additions & 44 deletions src/name.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import type { Faker } from '.';

/**
* Module to generate people's names and titles.
*/
export class Name {
constructor(private readonly faker: Faker) {
// Bind `this` so namespaced is working correctly
Expand All @@ -12,11 +15,17 @@ export class Name {
}

/**
* firstName
* Returns a random first name.
*
* @method faker.name.firstName
* @param gender
* @memberof faker.name
* @example
* faker.name.firstName() // 'Antwan'
* faker.name.firstName("female") // 'Victoria'
* faker.name.firstName(1) // 'Ashley'
* faker.name.firstName("male") // 'Tom'
* faker.name.firstName(0) // 'Ismael'
*
* @param gender The optional gender to use.
* Can be either `'male'` (or `0`) or `'female'` (or `1`).
*/
firstName(gender?: string | number): string {
if (
Expand Down Expand Up @@ -61,11 +70,17 @@ export class Name {
}

/**
* lastName
* Returns a random last name.
*
* @example
* faker.name.lastName() // 'Hauck'
* faker.name.lastName("female") // 'Grady'
* faker.name.lastName(1) // 'Kshlerin'
* faker.name.lastName("male") // 'Barton'
* faker.name.lastName(0) // 'Lockman'
*
* @method lastName
* @param gender
* @memberof faker.name
* @param gender The optional gender to use.
* Can be either `'male'` (or `0`) or `'female'` (or `1`).
*/
lastName(gender?: string | number): string {
if (
Expand Down Expand Up @@ -94,11 +109,17 @@ export class Name {
}

/**
* middleName
* Returns a random middle name.
*
* @example
* faker.name.middleName() // 'Доброславівна'
* faker.name.middleName("female") // 'Анастасівна'
* faker.name.middleName(1) // 'Анатоліївна'
* faker.name.middleName("male") // 'Вікторович'
* faker.name.middleName(0) // 'Стефанович'
*
* @method middleName
* @param gender
* @memberof faker.name
* @param gender The optional gender to use.
* Can be either `'male'` (or `0`) or `'female'` (or `1`).
*/
middleName(gender?: string | number): string {
if (
Expand All @@ -125,13 +146,19 @@ export class Name {
}

/**
* findName
* Generates a random full name.
*
* @method findName
* @param firstName
* @param lastName
* @param gender
* @memberof faker.name
* @example
* faker.name.findName() // 'Allen Brown'
* faker.name.findName('Joann') // 'Joann Osinski'
* faker.name.findName('Marcella', '', 1) // 'Mrs. Marcella Huels'
* faker.name.findName(undefined, 'Beer') // 'Mr. Alfonso Beer'
* faker.name.findName(undefined, undefined, 0) // 'Fernando Schaefer'
*
* @param firstName The optional first name to use. If not specified a random one will be chosen.
* @param lastName The optional last name to use. If not specified a random one will be chosen.
* @param gender The optional gender to use.
* Can be either `'male'` (or `0`) or `'female'` (or `1`).
*/
findName(
firstName?: string,
Expand Down Expand Up @@ -171,10 +198,10 @@ export class Name {
}

/**
* jobTitle
* Generates a random job title.
*
* @method jobTitle
* @memberof faker.name
* @example
* faker.name.jobTitle() // 'Global Accounts Engineer'
*/
jobTitle(): string {
return (
Expand All @@ -187,11 +214,13 @@ export class Name {
}

/**
* gender
* Return a random gender name.
*
* @example
* faker.name.jobTitle() // 'Trans*Man'
* faker.name.jobTitle(true) // 'Female'
*
* @method gender
* @param binary
* @memberof faker.name
* @param binary Whether to return only binary gender names. Defaults to false.
*/
gender(binary?: boolean): string {
if (binary) {
Expand All @@ -204,11 +233,17 @@ export class Name {
}

/**
* prefix
* Returns a random name prefix.
*
* @example
* faker.name.prefix() // 'Miss'
* faker.name.prefix('female') // 'Ms.'
* faker.name.prefix(1) // 'Dr.'
* faker.name.prefix('male') // 'Mr.'
* faker.name.prefix(0) // 'Mr.'
*
* @method prefix
* @param gender
* @memberof faker.name
* @param gender The optional gender to use.
* Can be either `'male'` (or `0`) or `'female'` (or `1`).
*/
prefix(gender?: string | number): string {
if (
Expand All @@ -233,20 +268,20 @@ export class Name {
}

/**
* suffix
* Returns a random name suffix.
*
* @method suffix
* @memberof faker.name
* @example
* faker.name.suffix() // 'DDS'
*/
suffix(): string {
return this.faker.random.arrayElement(this.faker.definitions.name.suffix);
}

/**
* title
* Generates a random title.
*
* @method title
* @memberof faker.name
* @example
* faker.name.title() // 'International Integration Manager'
*/
title(): string {
const descriptor = this.faker.random.arrayElement(
Expand All @@ -263,10 +298,10 @@ export class Name {
}

/**
* jobDescriptor
* Generates a random job descriptor.
*
* @method jobDescriptor
* @memberof faker.name
* @example
* faker.name.jobDescriptor() // 'Customer'
*/
jobDescriptor(): string {
return this.faker.random.arrayElement(
Expand All @@ -275,10 +310,10 @@ export class Name {
}

/**
* jobArea
* Generates a random job area.
*
* @method jobArea
* @memberof faker.name
* @example
* faker.name.jobArea() // 'Brand'
*/
jobArea(): string {
return this.faker.random.arrayElement(
Expand All @@ -287,10 +322,10 @@ export class Name {
}

/**
* jobType
* Generates a random job type.
*
* @method jobType
* @memberof faker.name
* @example
* faker.name.jobType() // 'Assistant'
*/
jobType(): string {
return this.faker.random.arrayElement(
Expand Down