From ad3c9bf0caab9fac465694641d4d170fa103a243 Mon Sep 17 00:00:00 2001 From: Hanna <108692126+hankucz@users.noreply.github.com> Date: Fri, 19 Aug 2022 10:06:15 +0200 Subject: feat(name): extract sex generator from gender to sex (#1168) --- src/definitions/name.ts | 2 +- src/locales/de/name/index.ts | 2 ++ src/locales/de/name/sex.ts | 1 + src/locales/en/name/binary_gender.ts | 1 - src/locales/en/name/index.ts | 4 ++-- src/locales/en/name/sex.ts | 1 + src/locales/fr/name/binary_gender.ts | 1 - src/locales/fr/name/index.ts | 4 ++-- src/locales/fr/name/sex.ts | 1 + src/locales/fr_CH/name/binary_gender.ts | 1 - src/locales/fr_CH/name/index.ts | 4 ++-- src/locales/fr_CH/name/sex.ts | 1 + src/locales/pl/name/binary_gender.ts | 1 - src/locales/pl/name/index.ts | 4 ++-- src/locales/pl/name/sex.ts | 1 + src/locales/pt_BR/name/binary_gender.ts | 1 - src/locales/pt_BR/name/index.ts | 4 ++-- src/locales/pt_BR/name/sex.ts | 1 + src/locales/ur/name/binary_gender.ts | 1 - src/locales/ur/name/index.ts | 4 ++-- src/locales/ur/name/sex.ts | 1 + src/modules/name/index.ts | 33 +++++++++++++++++++++++++++------ 22 files changed, 49 insertions(+), 25 deletions(-) create mode 100644 src/locales/de/name/sex.ts delete mode 100644 src/locales/en/name/binary_gender.ts create mode 100644 src/locales/en/name/sex.ts delete mode 100644 src/locales/fr/name/binary_gender.ts create mode 100644 src/locales/fr/name/sex.ts delete mode 100644 src/locales/fr_CH/name/binary_gender.ts create mode 100644 src/locales/fr_CH/name/sex.ts delete mode 100644 src/locales/pl/name/binary_gender.ts create mode 100644 src/locales/pl/name/sex.ts delete mode 100644 src/locales/pt_BR/name/binary_gender.ts create mode 100644 src/locales/pt_BR/name/sex.ts delete mode 100644 src/locales/ur/name/binary_gender.ts create mode 100644 src/locales/ur/name/sex.ts (limited to 'src') diff --git a/src/definitions/name.ts b/src/definitions/name.ts index d4999a30..03bd404d 100644 --- a/src/definitions/name.ts +++ b/src/definitions/name.ts @@ -5,7 +5,7 @@ import type { LocaleEntry } from './definitions'; */ export type NameDefinitions = LocaleEntry<{ gender: string[]; - binary_gender: string[]; + sex: string[]; prefix?: string[]; female_prefix?: string[]; diff --git a/src/locales/de/name/index.ts b/src/locales/de/name/index.ts index ffa039e9..0c5886c7 100644 --- a/src/locales/de/name/index.ts +++ b/src/locales/de/name/index.ts @@ -10,6 +10,7 @@ import male_first_name from './male_first_name'; import name_ from './name'; import nobility_title_prefix from './nobility_title_prefix'; import prefix from './prefix'; +import sex from './sex'; const name: NameDefinitions = { female_first_name, @@ -19,6 +20,7 @@ const name: NameDefinitions = { name: name_, nobility_title_prefix, prefix, + sex, }; export default name; diff --git a/src/locales/de/name/sex.ts b/src/locales/de/name/sex.ts new file mode 100644 index 00000000..c06d0d66 --- /dev/null +++ b/src/locales/de/name/sex.ts @@ -0,0 +1 @@ +export default ['männlich', 'weiblich']; diff --git a/src/locales/en/name/binary_gender.ts b/src/locales/en/name/binary_gender.ts deleted file mode 100644 index 347a852f..00000000 --- a/src/locales/en/name/binary_gender.ts +++ /dev/null @@ -1 +0,0 @@ -export default ['Female', 'Male']; diff --git a/src/locales/en/name/index.ts b/src/locales/en/name/index.ts index 67668f73..c1522a38 100644 --- a/src/locales/en/name/index.ts +++ b/src/locales/en/name/index.ts @@ -3,7 +3,6 @@ * Run 'pnpm run generate:locales' to update. */ import type { NameDefinitions } from '../../..'; -import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; import female_middle_name from './female_middle_name'; import first_name from './first_name'; @@ -14,11 +13,11 @@ import male_middle_name from './male_middle_name'; import middle_name from './middle_name'; import name_ from './name'; import prefix from './prefix'; +import sex from './sex'; import suffix from './suffix'; import title from './title'; const name: NameDefinitions = { - binary_gender, female_first_name, female_middle_name, first_name, @@ -29,6 +28,7 @@ const name: NameDefinitions = { middle_name, name: name_, prefix, + sex, suffix, title, }; diff --git a/src/locales/en/name/sex.ts b/src/locales/en/name/sex.ts new file mode 100644 index 00000000..66576370 --- /dev/null +++ b/src/locales/en/name/sex.ts @@ -0,0 +1 @@ +export default ['female', 'male']; diff --git a/src/locales/fr/name/binary_gender.ts b/src/locales/fr/name/binary_gender.ts deleted file mode 100644 index 3f337c9b..00000000 --- a/src/locales/fr/name/binary_gender.ts +++ /dev/null @@ -1 +0,0 @@ -export default ['Femme', 'Homme']; diff --git a/src/locales/fr/name/index.ts b/src/locales/fr/name/index.ts index 64963579..fb0bbc37 100644 --- a/src/locales/fr/name/index.ts +++ b/src/locales/fr/name/index.ts @@ -3,23 +3,23 @@ * Run 'pnpm run generate:locales' to update. */ import type { NameDefinitions } from '../../..'; -import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; import first_name from './first_name'; import last_name from './last_name'; import male_first_name from './male_first_name'; import name_ from './name'; import prefix from './prefix'; +import sex from './sex'; import title from './title'; const name: NameDefinitions = { - binary_gender, female_first_name, first_name, last_name, male_first_name, name: name_, prefix, + sex, title, }; diff --git a/src/locales/fr/name/sex.ts b/src/locales/fr/name/sex.ts new file mode 100644 index 00000000..3f337c9b --- /dev/null +++ b/src/locales/fr/name/sex.ts @@ -0,0 +1 @@ +export default ['Femme', 'Homme']; diff --git a/src/locales/fr_CH/name/binary_gender.ts b/src/locales/fr_CH/name/binary_gender.ts deleted file mode 100644 index 3f337c9b..00000000 --- a/src/locales/fr_CH/name/binary_gender.ts +++ /dev/null @@ -1 +0,0 @@ -export default ['Femme', 'Homme']; diff --git a/src/locales/fr_CH/name/index.ts b/src/locales/fr_CH/name/index.ts index 64963579..fb0bbc37 100644 --- a/src/locales/fr_CH/name/index.ts +++ b/src/locales/fr_CH/name/index.ts @@ -3,23 +3,23 @@ * Run 'pnpm run generate:locales' to update. */ import type { NameDefinitions } from '../../..'; -import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; import first_name from './first_name'; import last_name from './last_name'; import male_first_name from './male_first_name'; import name_ from './name'; import prefix from './prefix'; +import sex from './sex'; import title from './title'; const name: NameDefinitions = { - binary_gender, female_first_name, first_name, last_name, male_first_name, name: name_, prefix, + sex, title, }; diff --git a/src/locales/fr_CH/name/sex.ts b/src/locales/fr_CH/name/sex.ts new file mode 100644 index 00000000..3f337c9b --- /dev/null +++ b/src/locales/fr_CH/name/sex.ts @@ -0,0 +1 @@ +export default ['Femme', 'Homme']; diff --git a/src/locales/pl/name/binary_gender.ts b/src/locales/pl/name/binary_gender.ts deleted file mode 100644 index 6754a9f0..00000000 --- a/src/locales/pl/name/binary_gender.ts +++ /dev/null @@ -1 +0,0 @@ -export default ['Kobieta', 'Mężczyzna']; diff --git a/src/locales/pl/name/index.ts b/src/locales/pl/name/index.ts index ea7c411a..0d874207 100644 --- a/src/locales/pl/name/index.ts +++ b/src/locales/pl/name/index.ts @@ -3,7 +3,6 @@ * Run 'pnpm run generate:locales' to update. */ import type { NameDefinitions } from '../../..'; -import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; import first_name from './first_name'; import gender from './gender'; @@ -11,10 +10,10 @@ import last_name from './last_name'; import male_first_name from './male_first_name'; import name_ from './name'; import prefix from './prefix'; +import sex from './sex'; import title from './title'; const name: NameDefinitions = { - binary_gender, female_first_name, first_name, gender, @@ -22,6 +21,7 @@ const name: NameDefinitions = { male_first_name, name: name_, prefix, + sex, title, }; diff --git a/src/locales/pl/name/sex.ts b/src/locales/pl/name/sex.ts new file mode 100644 index 00000000..913a0aa8 --- /dev/null +++ b/src/locales/pl/name/sex.ts @@ -0,0 +1 @@ +export default ['kobieta', 'mężczyzna']; diff --git a/src/locales/pt_BR/name/binary_gender.ts b/src/locales/pt_BR/name/binary_gender.ts deleted file mode 100644 index 9c8e5a7f..00000000 --- a/src/locales/pt_BR/name/binary_gender.ts +++ /dev/null @@ -1 +0,0 @@ -export default ['Feminino', 'Masculino']; diff --git a/src/locales/pt_BR/name/index.ts b/src/locales/pt_BR/name/index.ts index d4c0e73a..2565f4d5 100644 --- a/src/locales/pt_BR/name/index.ts +++ b/src/locales/pt_BR/name/index.ts @@ -3,24 +3,24 @@ * Run 'pnpm run generate:locales' to update. */ import type { NameDefinitions } from '../../..'; -import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; import first_name from './first_name'; import last_name from './last_name'; import male_first_name from './male_first_name'; import name_ from './name'; import prefix from './prefix'; +import sex from './sex'; import suffix from './suffix'; import title from './title'; const name: NameDefinitions = { - binary_gender, female_first_name, first_name, last_name, male_first_name, name: name_, prefix, + sex, suffix, title, }; diff --git a/src/locales/pt_BR/name/sex.ts b/src/locales/pt_BR/name/sex.ts new file mode 100644 index 00000000..9c8e5a7f --- /dev/null +++ b/src/locales/pt_BR/name/sex.ts @@ -0,0 +1 @@ +export default ['Feminino', 'Masculino']; diff --git a/src/locales/ur/name/binary_gender.ts b/src/locales/ur/name/binary_gender.ts deleted file mode 100644 index fcd9a817..00000000 --- a/src/locales/ur/name/binary_gender.ts +++ /dev/null @@ -1 +0,0 @@ -export default ['عورت', 'مرد']; diff --git a/src/locales/ur/name/index.ts b/src/locales/ur/name/index.ts index d4c0e73a..2565f4d5 100644 --- a/src/locales/ur/name/index.ts +++ b/src/locales/ur/name/index.ts @@ -3,24 +3,24 @@ * Run 'pnpm run generate:locales' to update. */ import type { NameDefinitions } from '../../..'; -import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; import first_name from './first_name'; import last_name from './last_name'; import male_first_name from './male_first_name'; import name_ from './name'; import prefix from './prefix'; +import sex from './sex'; import suffix from './suffix'; import title from './title'; const name: NameDefinitions = { - binary_gender, female_first_name, first_name, last_name, male_first_name, name: name_, prefix, + sex, suffix, title, }; diff --git a/src/locales/ur/name/sex.ts b/src/locales/ur/name/sex.ts new file mode 100644 index 00000000..fcd9a817 --- /dev/null +++ b/src/locales/ur/name/sex.ts @@ -0,0 +1 @@ +export default ['عورت', 'مرد']; diff --git a/src/modules/name/index.ts b/src/modules/name/index.ts index 0a67c382..b42de3db 100644 --- a/src/modules/name/index.ts +++ b/src/modules/name/index.ts @@ -245,24 +245,45 @@ export class Name { } /** - * Return a random gender. + * Returns a random gender. * - * @param binary Whether to return only binary gender names. Defaults to `false`. + * @param binary (deprecated) Whether to return only binary gender names. Defaults to `false`. + * + * @see faker.name.sex() if you would like to generate binary-gender value * * @example * faker.name.gender() // 'Trans*Man' - * faker.name.gender(true) // 'Female' */ gender(binary?: boolean): string { if (binary) { - return this.faker.helpers.arrayElement( - this.faker.definitions.name.binary_gender - ); + deprecated({ + deprecated: 'faker.name.gender(true)', + proposed: 'faker.name.sex()', + since: '7.5', + until: '8.0', + }); + + return this.faker.name.sex(); } return this.faker.helpers.arrayElement(this.faker.definitions.name.gender); } + /** + * Returns a random sex. + * + * Output of this method is localised, so it should not be used to fill the parameter `sex` + * available in some other modules for example `faker.name.firstName()`. + * + * @see faker.name.gender() if you would like to generate gender related values. + * + * @example + * faker.name.sex() // 'female' + */ + sex(): string { + return this.faker.helpers.arrayElement(this.faker.definitions.name.sex); + } + /** * Returns a random name prefix. * -- cgit v1.2.3