Skip to content

Commit ceec2fb

Browse files
committed
Gender 2.2.0
1 parent 31857f3 commit ceec2fb

File tree

6 files changed

+30
-13
lines changed

6 files changed

+30
-13
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Global
22
node_modules/
33
coverage
4+
package-lock.json
45

56
# OS Generated
67
.DS_Store*

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<a name="2.2.0"></a>
2+
# [2.2.0](https://github.com/faker-javascript/gender) (2022-01-19)
3+
* Add locales folder for genders.
4+
15
<a name="2.1.1"></a>
26
# [2.1.1](https://github.com/faker-javascript/gender) (2022-01-15)
37
* Typo updates.

index.js

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
/* eslint camelcase: ["error", {properties: "never"}] */
1+
import path from 'node:path';
2+
import {loadJsonFileSync} from 'load-json-file';
3+
24
export default function gender(options) {
35
options = options || {};
4-
const genders = {
5-
en_US: [
6-
'Male',
7-
'Female',
8-
],
9-
ru_RU: [
10-
'Мужской',
11-
'Женский',
12-
],
13-
};
146
const locale = options.locale || 'en_US';
15-
const gendersWithExtra = [...genders[locale], ...options.extra || []];
7+
const filePath = `./locales/${locale}/gender.json`;
8+
let genders = [];
9+
10+
try {
11+
genders = loadJsonFileSync(filePath);
12+
} catch {
13+
genders = loadJsonFileSync(path.resolve('node_modules/@fakerjs/gender/', filePath));
14+
}
15+
16+
const gendersWithExtra = [...genders, ...options.extra || []];
1617
const randomGender = gendersWithExtra[Math.floor(Math.random() * gendersWithExtra.length)];
1718
return randomGender;
1819
}

locales/en_US/gender.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[
2+
"Male",
3+
"Female"
4+
]

locales/ru_RU/gender.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[
2+
"Мужской",
3+
"Женский"
4+
]

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@fakerjs/gender",
3-
"version": "2.1.1",
3+
"version": "2.2.0",
44
"description": "Gender package provides functionality to generate a fake gender value.",
55
"license": "MIT",
66
"repository": "faker-javascript/gender",
@@ -17,6 +17,9 @@
1717
"scripts": {
1818
"test": "c8 ava; xo --space 4; tsd;"
1919
},
20+
"dependencies": {
21+
"load-json-file": "^7.0.1"
22+
},
2023
"devDependencies": {
2124
"ava": "^4.0.0",
2225
"c8": "^7.11.0",

0 commit comments

Comments
 (0)