gender-detection-from-name
Advanced tools
Comparing version 1.8.0 to 1.9.0
declare module "gender-detection-from-name" { | ||
export function getGender(name: string, lang?: 'en' | 'it' | 'es'| 'fr'): string; | ||
export function getGender( | ||
name: string, | ||
lang?: "en" | "it" | "es" | "fr" | "de" | ||
): string; | ||
} |
@@ -5,2 +5,3 @@ const enMap = require('./names/en'); | ||
const frMap = require('./names/fr'); | ||
const deMap = require('./names/de'); | ||
@@ -25,3 +26,4 @@ /** | ||
fr: frMap, | ||
all: new Map([...itMap, ...enMap, ...esMap, ...frMap]), | ||
de: deMap, | ||
all: new Map([...itMap, ...enMap, ...esMap, ...frMap, ...deMap]), | ||
}; | ||
@@ -28,0 +30,0 @@ // Use the Map of input language, or use all |
{ | ||
"name": "gender-detection-from-name", | ||
"version": "1.8.0", | ||
"version": "1.9.0", | ||
"description": "Gender detection from first name", | ||
@@ -30,7 +30,7 @@ "main": "index.js", | ||
"devDependencies": { | ||
"eslint": "^8.47.0", | ||
"eslint": "^8.57.0", | ||
"eslint-config-google": "^0.14.0", | ||
"mocha": "^10.2.0", | ||
"mocha": "^10.3.0", | ||
"nyc": "^15.1.0" | ||
} | ||
} |
@@ -19,2 +19,3 @@ # Gender detection from name | ||
const genderFR = getGender('Andrea', 'fr'); | ||
const genderDE = getGender('Andrea', 'de'); | ||
const gender = getGender('Jennifer'); | ||
@@ -25,2 +26,3 @@ console.log(genderEN); // female | ||
console.log(genderFR); // male | ||
console.log(genderDE); // female | ||
console.log(gender); // female | ||
@@ -30,3 +32,3 @@ ``` | ||
### Supported languages | ||
`en`, `it`, `es`, `fr` | ||
`en`, `it`, `es`, `fr`, `de` | ||
@@ -33,0 +35,0 @@ ### Run tests |
@@ -53,4 +53,4 @@ const assert = require('assert'); | ||
}); | ||
it('should return male for some names with wrong language', () => { | ||
const names = ['Dave', 'John', 'Giacomo', 'George', 'Luca']; | ||
it('should return male for some german male names', () => { | ||
const names = ['Fabian', 'Alexander', 'Thomas', 'Maximilian', 'Moritz']; | ||
for (const name of names) { | ||
@@ -60,10 +60,22 @@ assert.strictEqual(getGender(name, 'de'), 'male'); | ||
}); | ||
it('should return female for some german female names', () => { | ||
const names = ['Leonie', 'Lena', 'Sarah', 'Nina', 'Julia']; | ||
for (const name of names) { | ||
assert.strictEqual(getGender(name, 'de'), 'female'); | ||
} | ||
}); | ||
it('should return male for some names with wrong language', () => { | ||
const names = ['Dave', 'John', 'Giacomo', 'George', 'Luke']; | ||
for (const name of names) { | ||
assert.strictEqual(getGender(name, 'jp'), 'male'); | ||
} | ||
}); | ||
it('should return female for some names with wrong language', () => { | ||
const names = ['Anna', 'Jennifer', 'Lisa', 'Marta', 'Catherine']; | ||
for (const name of names) { | ||
assert.strictEqual(getGender(name, 'de'), 'female'); | ||
assert.strictEqual(getGender(name, 'jp'), 'female'); | ||
} | ||
}); | ||
it('should return male for some names with no language', () => { | ||
const names = ['Dave', 'John', 'Giacomo', 'George', 'Luca']; | ||
const names = ['Dave', 'John', 'Giacomo', 'George', 'Luke']; | ||
for (const name of names) { | ||
@@ -70,0 +82,0 @@ assert.strictEqual(getGender(name), 'male'); |
2108273
16
87698
43