Faker Person - LV
<?php
namespace Faker\Provider\lv_LV;
use Faker\Calculator\Luhn;
class Person extends \Faker\Provider\Person
{
protected static $firstNameMale = array(
'Enno', 'Ernests', 'Ero', 'Ervis',
'Mārtiņš', 'Ivars', 'Kārlis', 'Ādams',
'Āris', 'Ēriks', 'Enriko', 'Enriks', 'Ģirts',
'Jānis', 'Pēteris', 'Olafs', 'Leons', 'Fēliks',
'Edijs', 'Gunārs',
// below are unknown gender firstnames
);
protected static $firstNameFemale = array(
'Āra', 'Daina', 'Daiga', 'Linda', 'Anita', 'Anete',
'Ārika', 'Čarita', 'Ērika', 'Ēva', 'Ēvī', 'Īda',
'Īva', 'Īģe', 'Ņikita', 'Una', 'Katrīna',
'Žaklīna', 'Žanna', 'Žaneta', 'Žanete',
'Daira', 'Līga', 'Agnese'
// below are unknown gender firstnames
);
protected static $lastName = array(
'Aiviekste',
'Cauna',
'Egle',
'Gauja',
'Karma',
'Krauja',
'Krava',
'Kļava',
'Laipa',
'Lapsa',
'Lauva',
'Liepa',
'Līdaka',
'Ogle',
'Ogre',
'Plinte',
'Rauna',
'Riepa',
'Rūsa',
'Saule',
'Skanda',
'Skava',
'Skudra',
'Skuja',
'Stiga',
'Strenga',
'Stīga',
'Sūna',
'Upe',
'Vasara',
'Vīksna',
'Vīģe',
'Zebiekste',
'Zemene',
'Ziema',
);
public function driverLicence()
{
return $this->bothify("??######");
}
public function passportNumber()
{
return $this->bothify("??#######");
}
/**
* National Personal Identity number (personas kods)
* @link https://en.wikipedia.org/wiki/National_identification_number#Latvia
* @param \DateTime $birthdate
* @return string on format XXXXXX-XXXXX
*/
public function personalIdentityNumber(\DateTime $birthdate = null)
{
if (!$birthdate) {
$birthdate = \Faker\Provider\DateTime::dateTimeThisCentury();
}
$datePart = $birthdate->format('dmy');
$randomDigits = (string) static::numerify('####');
$checksum = Luhn::computeCheckDigit($datePart . $randomDigits);
return $datePart . '-' . $randomDigits . $checksum;
}
}