From 0ee1c6751ec97e10ca1436d2b100b4acb1ac90ec Mon Sep 17 00:00:00 2001 From: amillwood <78274680+amillwood@users.noreply.github.com> Date: Sun, 19 Nov 2023 03:31:05 -0500 Subject: =?UTF-8?q?fix(internet):=20username=20method=20to=20return=20valu?= =?UTF-8?q?e=20that=20always=20includes=E2=80=A6=20(#2506)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Austin Millwood --- src/modules/internet/index.ts | 61 ++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/modules/internet/index.ts b/src/modules/internet/index.ts index 8cc651a3..bdc84dd6 100644 --- a/src/modules/internet/index.ts +++ b/src/modules/internet/index.ts @@ -65,7 +65,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.email() // 'Kassandra4@hotmail.com' - * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne63@yahoo.com' + * faker.internet.email({ firstName: 'Jeanne'}) // 'Jeanne63@yahoo.com' + * faker.internet.email({ firstName: 'Jeanne'}) // 'Jeanne_Smith63@yahoo.com' + * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne.Doe63@yahoo.com' * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe', provider: 'example.fakerjs.dev' }) // 'Jeanne_Doe88@example.fakerjs.dev' * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe', provider: 'example.fakerjs.dev', allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev' * @@ -107,7 +109,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.email() // 'Kassandra4@hotmail.com' - * faker.internet.email('Jeanne', 'Doe') // 'Jeanne63@yahoo.com' + * faker.internet.email('Jeanne') // 'Jeanne63@yahoo.com' + * faker.internet.email('Jeanne') // 'Jeanne.Smith63@yahoo.com' + * faker.internet.email('Jeanne', 'Doe') // 'Jeanne_Doe63@yahoo.com' * faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev') // 'Jeanne_Doe88@example.fakerjs.dev' * faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev', { allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev' * @@ -145,7 +149,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.email() // 'Kassandra4@hotmail.com' - * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne63@yahoo.com' + * faker.internet.email({ firstName: 'Jeanne' }) // 'Jeanne63@yahoo.com' + * faker.internet.email({ firstName: 'Jeanne' }) // 'Jeanne.Smith63@yahoo.com' + * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne_Doe63@yahoo.com' * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe', provider: 'example.fakerjs.dev' }) // 'Jeanne_Doe88@example.fakerjs.dev' * faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe', provider: 'example.fakerjs.dev', allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev' * @@ -248,8 +254,8 @@ export class InternetModule extends ModuleBase { } const { - firstName = this.faker.person.firstName(), - lastName = legacyLastName ?? this.faker.person.lastName(), + firstName, + lastName = legacyLastName, provider = legacyProvider ?? this.faker.helpers.arrayElement( this.faker.definitions.internet.free_email @@ -295,7 +301,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.exampleEmail() // 'Helmer.Graham23@example.com' - * faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne96@example.net' + * faker.internet.exampleEmail({ firstName: 'Jeanne' }) // 'Jeanne96@example.net' + * faker.internet.exampleEmail({ firstName: 'Jeanne' }) // 'Jeanne.Smith96@example.net' + * faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne_Doe96@example.net' * faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe', allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.com' * * @since 3.1.0 @@ -331,7 +339,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.exampleEmail() // 'Helmer.Graham23@example.com' - * faker.internet.exampleEmail('Jeanne', 'Doe') // 'Jeanne96@example.net' + * faker.internet.exampleEmail('Jeanne') // 'Jeanne96@example.net' + * faker.internet.exampleEmail('Jeanne') // 'Jeanne.Smith96@example.net' + * faker.internet.exampleEmail('Jeanne', 'Doe') // 'Jeanne_Doe96@example.net' * faker.internet.exampleEmail('Jeanne', 'Doe', { allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.com' * * @since 3.1.0 @@ -365,7 +375,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.exampleEmail() // 'Helmer.Graham23@example.com' - * faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne96@example.net' + * faker.internet.exampleEmail({ firstName: 'Jeanne' }) // 'Jeanne96@example.net' + * faker.internet.exampleEmail({ firstName: 'Jeanne' }) // 'Jeanne.Smith96@example.net' + * faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne_Doe96@example.net' * faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe', allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.com' * * @since 3.1.0 @@ -454,8 +466,8 @@ export class InternetModule extends ModuleBase { } const { - firstName = this.faker.person.firstName(), - lastName = legacyLastName ?? this.faker.person.lastName(), + firstName, + lastName = legacyLastName, allowSpecialCharacters = legacyOptions?.allowSpecialCharacters ?? false, } = options; @@ -485,7 +497,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.userName() // 'Nettie_Zboncak40' - * faker.internet.userName({ firstName: 'Jeanne', lastName: 'Doe'}) // 'Jeanne98' - note surname is not used + * faker.internet.userName({ firstName: 'Jeanne' }) // 'Jeanne98' + * faker.internet.userName({ firstName: 'Jeanne' }) // 'Jeanne.Smith98' + * faker.internet.userName({ firstName: 'Jeanne', lastName: 'Doe'}) // 'Jeanne_Doe98' * faker.internet.userName({ firstName: 'John', lastName: 'Doe' }) // 'John.Doe' * faker.internet.userName({ firstName: 'Hélene', lastName: 'Müller' }) // 'Helene_Muller11' * faker.internet.userName({ firstName: 'Фёдор', lastName: 'Достоевский' }) // 'Fedor.Dostoevskii50' @@ -520,7 +534,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.userName() // 'Nettie_Zboncak40' - * faker.internet.userName('Jeanne', 'Doe') // 'Jeanne98' - note surname is not used + * faker.internet.userName('Jeanne') // 'Jeanne98' + * faker.internet.userName('Jeanne') // 'Jeanne.Smith98' + * faker.internet.userName('Jeanne', 'Doe') // 'Jeanne_Doe98' * faker.internet.userName('John', 'Doe') // 'John.Doe' * faker.internet.userName('Hélene', 'Müller') // 'Helene_Muller11' * faker.internet.userName('Фёдор', 'Достоевский') // 'Fedor.Dostoevskii50' @@ -546,7 +562,9 @@ export class InternetModule extends ModuleBase { * * @example * faker.internet.userName() // 'Nettie_Zboncak40' - * faker.internet.userName({ firstName: 'Jeanne', lastName: 'Doe'}) // 'Jeanne98' - note surname is not used + * faker.internet.userName({ firstName: 'Jeanne'}) // 'Jeanne98' + * faker.internet.userName({ firstName: 'Jeanne'}) // 'Jeanne.Smith98' + * faker.internet.userName({ firstName: 'Jeanne', lastName: 'Doe'}) // 'Jeanne_Doe98' * faker.internet.userName({ firstName: 'John', lastName: 'Doe' }) // 'John.Doe' * faker.internet.userName({ firstName: 'Hélene', lastName: 'Müller' }) // 'Helene_Muller11' * faker.internet.userName({ firstName: 'Фёдор', lastName: 'Достоевский' }) // 'Fedor.Dostoevskii50' @@ -608,23 +626,24 @@ export class InternetModule extends ModuleBase { const { firstName = this.faker.person.firstName(), lastName = legacyLastName ?? this.faker.person.lastName(), + lastName: hasLastName = legacyLastName, } = options; let result: string; - switch (this.faker.number.int(2)) { + const strategy = this.faker.number.int(hasLastName ? 1 : 2); + const separator = this.faker.helpers.arrayElement(['.', '_']); + switch (strategy) { case 0: - result = `${firstName}${this.faker.number.int(99)}`; + result = `${firstName}${separator}${lastName}${this.faker.number.int( + 99 + )}`; break; case 1: - result = - firstName + this.faker.helpers.arrayElement(['.', '_']) + lastName; + result = `${firstName}${separator}${lastName}`; break; case 2: default: - result = `${firstName}${this.faker.helpers.arrayElement([ - '.', - '_', - ])}${lastName}${this.faker.number.int(99)}`; + result = `${firstName}${this.faker.number.int(99)}`; break; } -- cgit v1.2.3