🇮🇷
Persian FirstName (JSON) Package of all Iranian (and Arabic) names
پکیج تمامی اسامی ایرانی (و عربی)
Using:
install:
npm install persian-names
yarn install persian-names
import:
import { PersianNames } from 'persian-names';
require:
const { PersianNames } = require('persian-names');
new class:
const persianName = new PersianNames(); //using default json file
const persianName = new PersianNames('./assets/firstname.json'); //using custom json
Examples
Validation Persian Name:
const is_name = persianName.validation('آرش');
console.log(is_name); //true or false
using options
const is_name = persianName.validation('امیر', {
convertToPersian: true,
typeCheck: 'exact',
trimName: true,
});
console.log(is_name); //true or false
Get All FirstName:
const get_names = persianName.getNames();
console.log(get_names);
/*
[
{ id: 1, name: 'اَبدەَ', gender: 1, rate: 3 },
{ id: 2, name: 'اَبیش', gender: 1, rate: 3 },
...
]
*/
using options:
const get_names = persianName.getNames({
genderType: 'stringFa',
rateType: 'stringFa',
getParamsData: {
id: false,
name: true,
gender: true,
rate: true,
},
});
console.log(get_names);
/*
[
{ name: 'اَبدەَ', gender: 'مرد', rate: 'بسیار نادر' }
{ name: 'اَبیش', gender: 'مرد', rate: 'بسیار نادر' },
...
]
*/
Find Name:
const find_name = persianName.findName('زهرا');
console.log(find_name);
// return { id: 2887, name: 'زهرا', gender: 2, rate: 1 }
using options:
const find_name = persianName.findName('علی', {
myTypeGender: {
male: 'مردانه',
},
typeCheck: 'include',
});
Get Gender Name:
const get_gender_name = persianName.getGenderName('سارا', {
genderType: 'stringFa',
});
console.log(get_gender_name);
// return { gender: 'زن' }
Include Name:
const include_name = persianName.includeName(
'سلام من رضا هستم به همراه علی و احمد',
{
// options
}
);
console.log(include_name);
/** return {
originalStr: 'سلام من رضا هستم به همراه علی و احمد',
findNamesToStr: 'سلام من "رضا" هستم به همراه "علی" و "احمد"',
names: [
{ id: 634, name: 'احمد', gender: 'male', rate: 1 },
{ id: 2399, name: 'رضا', gender: 'male', rate: 1 },
{ id: 3652, name: 'علی', gender: 'male', rate: 1 }
],
length: 3
}
*/
options:
Options | Description | type support | Default |
---|---|---|---|
convertToPersian | convert alphabet arabic to persian | boolean,undefined | false |
typeCheck | include type or exact type for find name | 'exact','include' | exact |
trimName | trim name before validation (remove space and A-Z characters and emojis and ...) | boolean,undefined | false |
myTypeGender | custom gender (male,female,both) show in result | undefined, male:string, female:string, both:string, | undefined |
genderType | convert gender name for show | undefined, genderTypeFa, genderTypeNumber, genderTypeArb, | genderTypeNumber |
rateType | convert rate name for show | undefined, rateTypeNumber, rateTypeFa | rateTypeNumber |
getParamsData | items that can be displayed in the output | undefined, id:bool, name:bool, gender:bool, rate:bool, | undefined |
Rate Types:
value | number | stringFa |
---|---|---|
1 | 1 | پر کاربردی |
2 | 2 | معمولی |
3 | 3 | بسیار نادر |
Gender Types:
value | Number | Fa | Arb |
---|---|---|---|
1 | 1 | مرد | مذکر |
2 | 2 | زن | مونث |
3 | 3 | هردو | هردو |
نکات
1- ممکن است یک سری از نام ها در این کتابخانه وجود نداشته باشد. که شما می توانید از طریق این لینک پروژه تبدیل کننده آن را دریافت کنید: project که این پروژه شامل فایل اکسل آماده اسامی + کد های جاوااسکریپت برای تبدیل فایل اکسل به json است.
2- بعضی از اسامی مانند حشمت و یا احسان و... هم در مردان و هم در زنان استفاده می شود پس این کتابخانه در جواب آن به شما پاسخ 3 و یا هردو و... میدهد.
3-این کتابخانه برای سهولت در توسعه و کار کردن با آن از دیتابیس داخلی یعنی json استفاده می کند.
4- این کتابخانه تا به الان شامل 6179 عدد نام مرد و زن (عربی و فارسی) است.
5- نام هایی مثل محمد و محمدرضا و یا محمدمهدی جدا هستند و جدا حساب می شوند.