Package Exports
- persian-firstname
- persian-firstname/dist/index.js
- persian-firstname/dist/persian-firstname.esm.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (persian-firstname) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Persian FirstName 🇮🇷
Package of all Iranian (and Arabic) names
پکیج تمامی اسامی ایرانی (و عربی)
Using:
install:
npm install persian-firstnameyarn install persian-firstnameimport:
import PersianName from 'persian-firstname';require:
const PersianName = require('persian-firstname').default;Examples
Validation Persian Name:
const is_name = PersianName.validation('آرش');
console.log(is_name); //true or falseusing options
const is_name = PersianName.validation('امیر', {
convertToPersian: true, // ي ==> ی (using package @persian-tools)
typeCheck: 'exact', //include type or exact type for find name
trimName: true, //trim name before validation (remove space and A-Z characters and emojis and ...)
});
console.log(is_name); //true or falseGet 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', // default is "number" => or using myTypeGender,
rateType: 'stringFa', // default is "number"
getParamsData: {
// return param data
//default is true
id: false,
name: true,
gender: true,
rate: true,
},
limitation: {
limit: 100,
offset: 10,
},
});
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('علی', {
// previous duplicate options
showErrorMessage: true, //if not find name return (*name*) find name //default: false
consoleLog: true, //default: false //if not find name sow console log (*name*) find name
});Get Gender Name:
const get_gender_name = PersianName.getGenderName('سارا', {
// previous duplicate options
genderType: 'stringFa',
});
console.log(get_gender_name);
// return { gender: 'زن' }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, genderTypeEn, genderTypeFa, genderTypeNumber, genderTypeEmoji, genderTypeArb, | genderTypeNumber |
| rateType | convert rate name for show | undefined, rateTypeNumber, rateTypeEn, rateTypeFa | rateTypeNumber |
| getParamsData | items that can be displayed in the output | undefined, id:bool, name:bool, gender:bool, rate:bool, | undefined |
| showErrorMessage | if not find name => (name) not found name | boolean,undefined | false |
| consoleLog | if not find name sow console log (name) find name | boolean,undefined | false |
| limitation | limit for show names | undefined, limit:number, offset:number | undefined |
Rate Types:
| value | stringEn type | number type | stringFa type |
|---|---|---|---|
| 1 | very practical | 1 | پر کاربردی |
| 2 | normal | 2 | معمولی |
| 3 | very rare | 3 | بسیار نادر |
Gender Types:
| value | genderTypeEn | genderTypeFa | genderTypeFa2 | genderTypeNumber | genderTypeEmoji | genderTypeArb |
|---|---|---|---|---|---|---|
| 1 | Male | مرد | آقا | 1 | ♂️ | مذکر |
| 2 | Female | زن | خانم | 2 | ♀️ | مونت |
| 3 | Both | هر دو | هر دو | 3 | ♂️♀️ | هر دو |
changes and update in version 0.1.4
1- Added myTypeGender option
2- Change Name Method validationPersianName to validation
3- Added options limitation for getNames method
4- remove method randomName
5- update documentation
نکات
1- ممکن است یک سری از نام ها در این کتابخانه وجود نداشته باشد. که شما می توانید از طریق این لینک پروژه تبدیل کننده آن را دریافت کنید: project که این پروژه شامل فایل اکسل آماده اسامی + کد های جاوااسکریپت برای تبدیل فایل اکسل به sqlite است.
2- بعضی از اسامی مانند حشمت و یا احسان و... هم در مردان و هم در زنان استفاده می شود پس این کتابخانه در جواب آن به شما پاسخ 3 و یا هردو و... میدهد.
3-این کتابخانه برای سهولت در توسعه و کار کردن با آن از دیتابیس داخلی یعنی sqlite استفاده می کند.
4- این کتابخانه تا به الان شامل 6179 عدد نام مرد و زن (عربی و فارسی) است.
5- نام هایی مثل محمد و محمدرضا و یا محمدمهدی جدا هستند و جدا حساب می شوند.