gender-rus
TypeScript icon, indicating that this package has built-in type declarations

1.2.2 • Public • Published

Gender-rus

Determine the gender, based on Russian name, surname, or patronymic.

usage

import detectGender from 'gender-rus';
 
detectGender({surname: 'Иванов', name: 'Иван', patronymic: 'Иванович'});
// => 'male';
 
detectGender({name: 'МАРИЯ', patronymic: 'ВЛАДИМИРОВНА'});
// => 'female';
 
detectGender({name: 'Женя', surname: 'Бойко'});
// => 'undefined';

The only argument for determinedGender is an object with three optional properties: name, surname, and patronymic. Letter case does not matter.
Return value can be 'male', 'female' or 'undefined'.

under the hood

The algorithm for determining gender is pretty straightforward.
First, we determine the gender of name, surname, and patronymic separately.

If all parts cannot be determined, result is 'undefined':

detectGender({name: 'бубу', surname: 'хаха', patronymic: 'ггг'});
// => 'undefined';
 
 
detectGender({name: 'Саша', surname: 'Фейнман'});
//            ^             ^
//            undefined     undefined
//
// => 'undefined';

If some are 'female' and some parts are 'male', result is 'undefined' too:

detectGender({name: 'Гадя', patronymic: 'Петрович', surname: 'Хренова'});
//            ^             ^                       ^
//            undefined     male                    female
//
// => 'undefined';
 
detectGender({name: 'влад', patronymic: 'васильевна'});
//            ^             ^
//            male          female
//
// => 'undefined';

If all parts are 'male' or 'undefined', result is 'male':

detectGender({surname: 'ЗАБОЛОЦКИЙ'});
//            ^
//            male
//
// => 'male';
 
detectGender({name: 'Х', patronymic: 'Петрович'});
//            ^          ^
//            undefined  male
//
// => 'male';

Similarly for 'female':

detectGender({name: 'А.', patronymic: 'И.', surname: 'Ульянова'});
//            ^           ^                 ^
//            undefined   undefined         female
//
// => 'female';

Package Sidebar

Install

npm i gender-rus

Weekly Downloads

1

Version

1.2.2

License

MIT

Unpacked Size

13.9 kB

Total Files

5

Last publish

Collaborators

  • aapodolskiy