@chinmayn00b/faker-ind
Version:
Generate Fake Contextual Data For India Region
86 lines • 2.61 kB
JavaScript
import { englishLocals } from './languages/english';
import { hindiLocals } from './languages/hindi';
import { boolean } from './random';
import { Gender } from './types/gender';
import { bengaliLocals } from './languages/bengali';
import { gujaratiLocals } from './languages/gujarati';
import { kannadaLocals } from './languages/kannada';
import { malayalamLocals } from './languages/malayalam';
import { marathiLocals } from './languages/marathi';
import { punjabiLocals } from './languages/punjabi';
import { tamilLocals } from './languages/tamil';
import { teleguLocals } from './languages/telegu';
import { urduLocals } from './languages/urdu';
function getLocalPerson(language) {
switch (language) {
case 'Hindi':
return hindiLocals();
case 'English':
return englishLocals();
case 'Bengali':
return bengaliLocals();
case 'Tamil':
return tamilLocals();
case 'Telugu':
return teleguLocals();
case 'Marathi':
return marathiLocals();
case 'Gujarati':
return gujaratiLocals();
case 'Kannada':
return kannadaLocals();
case 'Malayalam':
return malayalamLocals();
case 'Urdu':
return urduLocals();
case 'Punjabi':
return punjabiLocals();
default:
throw new Error(`Language "${language}" not supported`);
}
}
function selectRandomGender() {
return boolean() ? Gender.FEMALE : Gender.MALE;
}
/**
* returns a single random first name based on the locale set
*
* @method firstName
* @param {Language} language
* @param {Enum} gender
*/
export function firstName(language, gender) {
const chosenGender = gender ?? selectRandomGender();
const localPerson = getLocalPerson(language);
return localPerson.firstName(chosenGender);
}
/**
* returns a single random last name based on the locale set
*
* @method lastName
* @param {Language} language
*/
export function lastName(language) {
const localPerson = getLocalPerson(language);
return localPerson.lastName();
}
/**
* returns a name prefix depending on the locale set
*
* @method prefix
* @param {Language} language
*/
export function prefix(language) {
const localPerson = getLocalPerson(language);
return localPerson.prefix();
}
/**
* returns a random full name
*
* @method fullName
* @param {Language} language
*/
export function fullName(language) {
return `${prefix(language)} ${firstName(language)} ${lastName(language)}`;
}
//# sourceMappingURL=name.js.map