Person

Struct Person 

Source
pub struct Person<'a>(pub &'a Locale);
Expand description

Struct for generating personal data

Tuple Fieldsยง

ยง0: &'a Locale

Implementationsยง

Sourceยง

impl<'a> Person<'a>

Source

pub fn age(minimum: i32, maximum: i32) -> i32

Get a random integer value

Source

pub fn work_experience(minimum: i32, maximum: i32) -> i32

Get a random integer value

Source

pub fn name(&self, gender: Option<Gender>) -> &str

Generate a random name

Examples found in repository?
examples/pool.rs (line 20)
3fn main() {
4    let some_pool = RandomPool::new(vec![
5        "TEST", "test",  "TeSt", "tEsT",
6    ]);
7
8    println!("Something any: {}", some_pool.get());
9
10    let address_pool = RandomPool::new(vec![
11        Address(&Locale::EN), Address(&Locale::RU),
12    ]);
13
14    println!("Random address: {}", address_pool.get().city());
15
16    let complex_pool = RandomPool::new(vec![
17        ComplexProvider::new(&Locale::EN), ComplexProvider::new(&Locale::RU),
18    ]);
19
20    println!("Random complex provider: {}", complex_pool.get().person.name(Some(Gender::MALE)))
21}
Source

pub fn first_name(&self, gender: Option<Gender>) -> &str

Generate a random first name | An allias for .name()

Source

pub fn surname(&self, gender: Option<Gender>) -> String

Generate a random surname | An allias for .name()

Source

pub fn last_name(&self, gender: Option<Gender>) -> String

Generate a random last name | An allias for .surname()

Source

pub fn title( &self, gender: Option<Gender>, title_type: Option<TitleType>, ) -> &str

Generate a random title for name

Source

pub fn full_name(&self, gender: Option<Gender>, reverse: bool) -> String

Generate a random full name

ex: name surname

Examples found in repository?
examples/simple.rs (line 6)
3fn main() {
4    // A common option for most providers
5    let complex = ComplexProvider::new(&Locale::EN);
6    println!("Person: {}", complex.person.full_name(None, false));
7    println!("Telephone: {}", complex.person.telephone(None));
8    println!("Address: {}", complex.address.full_address());
9    println!("Birthday: {}", Datetime::date(1940, 2000));
10    println!("Weight: {} kg", Person::weight(30, 90));
11    println!("Height: {} m", Person::height(1.5, 2.0));
12
13    // But you can also use single providers
14    let russian_person = Person(&Locale::RU);
15    println!("Their Russian friend: {}", russian_person.full_name(Some(Gender::MALE), false));
16}
More examples
Hide additional examples
examples/datagen.rs (line 42)
4fn main() {
5    println!("Address: {}", Address(&Locale::EN).full_address());
6
7    println!("IMEI: {}", Code::imei());
8
9    println!("Mnemonic Phrase: {}", Cryptographic::mnemonic_phrase());
10
11    // start, end
12    println!("Datetime: {}", Datetime::datetime(1984, 2077));
13
14    println!("Filename: {}", File::file_name(None));
15
16    // scheme, tld, subdomains
17    println!("DSN: {}", Development::dsn(Some(DSNType::POSTGRES), Some(TLDType::CCTLD), Some(vec!["shop", "admin"])));
18
19    println!("Mac: {}", Internet::mac());
20
21    println!("Company: {}", Finance(&Locale::EN).company());
22
23    println!("Drink: {}", Food(&Locale::EN).drink());
24
25    println!("Manufacturer: {}", Hardware::manufacturer());
26
27    // sequence, length
28    println!("Choice: {:?}", Choice::pick(&vec!["a", "b", "c"], 5));
29    println!("Unique choice: {:?}", Choice::pick_unique(&vec!["a", "a", "b", "c"], 5));
30
31    // anything hashable object
32    println!("Increment a=1: {}", Numeric::increment("a"));
33    println!("Increment a+1: {}", Numeric::increment("a"));
34    println!("Increment 1=1: {}", Numeric::increment(1));
35    println!("Increment a+1: {}", Numeric::increment("a"));
36
37    println!("Project path: {}",  Path::new(PlatformType::detect()).project_dir());
38
39    println!("Card struct: {:?}", Payment::credit_card());
40
41    // gender, reverse fullname
42    println!("Fullname: {}",  Person(&Locale::EN).full_name(Some(Gender::MALE), false));
43    println!("Telephone: {}", Person(&Locale::EN).telephone(None));
44    println!("Username: {}",  Person::username(Some("C.U.l.d"), Some((666, 777))));
45
46    // length of sequence
47    println!("DNA sequence: {}", Science::dna_sequence(10));
48
49    // words count
50    println!("Words: {:?}", Text(&Locale::EN).words(5));
51
52    // None or Some(locale) for random or locale get transport code
53    println!("USA transport code: {}", Transport::vehicle_registration_code(Some(Locale::EN)));
54}
Source

pub fn username(mask: Option<&str>, drange: Option<(u32, u32)>) -> String

You can create many different usernames using masks:

  • C stands for capitalized username.
  • U stands for uppercase username.
  • l stands for lowercase username.
  • d stands for digits in username.

You can also use symbols to separate the different part of the username: . _ -

Examples found in repository?
examples/datagen.rs (line 44)
4fn main() {
5    println!("Address: {}", Address(&Locale::EN).full_address());
6
7    println!("IMEI: {}", Code::imei());
8
9    println!("Mnemonic Phrase: {}", Cryptographic::mnemonic_phrase());
10
11    // start, end
12    println!("Datetime: {}", Datetime::datetime(1984, 2077));
13
14    println!("Filename: {}", File::file_name(None));
15
16    // scheme, tld, subdomains
17    println!("DSN: {}", Development::dsn(Some(DSNType::POSTGRES), Some(TLDType::CCTLD), Some(vec!["shop", "admin"])));
18
19    println!("Mac: {}", Internet::mac());
20
21    println!("Company: {}", Finance(&Locale::EN).company());
22
23    println!("Drink: {}", Food(&Locale::EN).drink());
24
25    println!("Manufacturer: {}", Hardware::manufacturer());
26
27    // sequence, length
28    println!("Choice: {:?}", Choice::pick(&vec!["a", "b", "c"], 5));
29    println!("Unique choice: {:?}", Choice::pick_unique(&vec!["a", "a", "b", "c"], 5));
30
31    // anything hashable object
32    println!("Increment a=1: {}", Numeric::increment("a"));
33    println!("Increment a+1: {}", Numeric::increment("a"));
34    println!("Increment 1=1: {}", Numeric::increment(1));
35    println!("Increment a+1: {}", Numeric::increment("a"));
36
37    println!("Project path: {}",  Path::new(PlatformType::detect()).project_dir());
38
39    println!("Card struct: {:?}", Payment::credit_card());
40
41    // gender, reverse fullname
42    println!("Fullname: {}",  Person(&Locale::EN).full_name(Some(Gender::MALE), false));
43    println!("Telephone: {}", Person(&Locale::EN).telephone(None));
44    println!("Username: {}",  Person::username(Some("C.U.l.d"), Some((666, 777))));
45
46    // length of sequence
47    println!("DNA sequence: {}", Science::dna_sequence(10));
48
49    // words count
50    println!("Words: {:?}", Text(&Locale::EN).words(5));
51
52    // None or Some(locale) for random or locale get transport code
53    println!("USA transport code: {}", Transport::vehicle_registration_code(Some(Locale::EN)));
54}
Source

pub fn password(length: usize, hashed: bool) -> String

Generate a password or hash of password

Source

pub fn email(domains: Option<Vec<&'static str>>, unique: bool) -> String

Generate a random email

Arguments:

  • domains - List of custom domains for emails
  • unique - Makes email addresses unique
Source

pub fn gender(&self, iso_5218: bool, symbol: bool) -> SexType<'_>

Get a random gender

Arguments:

  • iso5218 - Codes for the representation of human sexes is an international standard (0 - not known, 1 - male, 2 - female, 9 - not applicable)
  • symbol - Symbol of gender
Source

pub fn sex(&self, iso_5218: bool, symbol: bool) -> SexType<'_>

Get a random sex | An allias for .gender()

Source

pub fn height(minimum: f32, maximum: f32) -> String

Generate a random height

Examples found in repository?
examples/simple.rs (line 11)
3fn main() {
4    // A common option for most providers
5    let complex = ComplexProvider::new(&Locale::EN);
6    println!("Person: {}", complex.person.full_name(None, false));
7    println!("Telephone: {}", complex.person.telephone(None));
8    println!("Address: {}", complex.address.full_address());
9    println!("Birthday: {}", Datetime::date(1940, 2000));
10    println!("Weight: {} kg", Person::weight(30, 90));
11    println!("Height: {} m", Person::height(1.5, 2.0));
12
13    // But you can also use single providers
14    let russian_person = Person(&Locale::RU);
15    println!("Their Russian friend: {}", russian_person.full_name(Some(Gender::MALE), false));
16}
Source

pub fn weight(minimum: i32, maximum: i32) -> i32

Generate a random weight

Examples found in repository?
examples/simple.rs (line 10)
3fn main() {
4    // A common option for most providers
5    let complex = ComplexProvider::new(&Locale::EN);
6    println!("Person: {}", complex.person.full_name(None, false));
7    println!("Telephone: {}", complex.person.telephone(None));
8    println!("Address: {}", complex.address.full_address());
9    println!("Birthday: {}", Datetime::date(1940, 2000));
10    println!("Weight: {} kg", Person::weight(30, 90));
11    println!("Height: {} m", Person::height(1.5, 2.0));
12
13    // But you can also use single providers
14    let russian_person = Person(&Locale::RU);
15    println!("Their Russian friend: {}", russian_person.full_name(Some(Gender::MALE), false));
16}
Source

pub fn blood_type() -> &'static str

Get a random blood type

Source

pub fn occupation(&self) -> &str

Get a random job

Source

pub fn political_views(&self) -> &str

Get a random political views

Source

pub fn worldview(&self) -> &str

Get a random political views

Source

pub fn views_on(&self) -> &str

Get a random political views

Source

pub fn nationality(&self, gender: Option<Gender>) -> String

Generate a random nationality | An allias for .name()

Source

pub fn university(&self) -> &str

Get a random university

Source

pub fn academic_degree(&self) -> &str

Get a random academic degree

Source

pub fn language(&self) -> &str

Get a random language

Source

pub fn telephone(&self, mask: Option<&str>) -> String

Generate a random phone number

Arguments:

  • mask - The mask. Here @ is a placeholder for characters and # is placeholder for digits
Examples found in repository?
examples/simple.rs (line 7)
3fn main() {
4    // A common option for most providers
5    let complex = ComplexProvider::new(&Locale::EN);
6    println!("Person: {}", complex.person.full_name(None, false));
7    println!("Telephone: {}", complex.person.telephone(None));
8    println!("Address: {}", complex.address.full_address());
9    println!("Birthday: {}", Datetime::date(1940, 2000));
10    println!("Weight: {} kg", Person::weight(30, 90));
11    println!("Height: {} m", Person::height(1.5, 2.0));
12
13    // But you can also use single providers
14    let russian_person = Person(&Locale::RU);
15    println!("Their Russian friend: {}", russian_person.full_name(Some(Gender::MALE), false));
16}
More examples
Hide additional examples
examples/datagen.rs (line 43)
4fn main() {
5    println!("Address: {}", Address(&Locale::EN).full_address());
6
7    println!("IMEI: {}", Code::imei());
8
9    println!("Mnemonic Phrase: {}", Cryptographic::mnemonic_phrase());
10
11    // start, end
12    println!("Datetime: {}", Datetime::datetime(1984, 2077));
13
14    println!("Filename: {}", File::file_name(None));
15
16    // scheme, tld, subdomains
17    println!("DSN: {}", Development::dsn(Some(DSNType::POSTGRES), Some(TLDType::CCTLD), Some(vec!["shop", "admin"])));
18
19    println!("Mac: {}", Internet::mac());
20
21    println!("Company: {}", Finance(&Locale::EN).company());
22
23    println!("Drink: {}", Food(&Locale::EN).drink());
24
25    println!("Manufacturer: {}", Hardware::manufacturer());
26
27    // sequence, length
28    println!("Choice: {:?}", Choice::pick(&vec!["a", "b", "c"], 5));
29    println!("Unique choice: {:?}", Choice::pick_unique(&vec!["a", "a", "b", "c"], 5));
30
31    // anything hashable object
32    println!("Increment a=1: {}", Numeric::increment("a"));
33    println!("Increment a+1: {}", Numeric::increment("a"));
34    println!("Increment 1=1: {}", Numeric::increment(1));
35    println!("Increment a+1: {}", Numeric::increment("a"));
36
37    println!("Project path: {}",  Path::new(PlatformType::detect()).project_dir());
38
39    println!("Card struct: {:?}", Payment::credit_card());
40
41    // gender, reverse fullname
42    println!("Fullname: {}",  Person(&Locale::EN).full_name(Some(Gender::MALE), false));
43    println!("Telephone: {}", Person(&Locale::EN).telephone(None));
44    println!("Username: {}",  Person::username(Some("C.U.l.d"), Some((666, 777))));
45
46    // length of sequence
47    println!("DNA sequence: {}", Science::dna_sequence(10));
48
49    // words count
50    println!("Words: {:?}", Text(&Locale::EN).words(5));
51
52    // None or Some(locale) for random or locale get transport code
53    println!("USA transport code: {}", Transport::vehicle_registration_code(Some(Locale::EN)));
54}
Source

pub fn identifier(&self, mask: Option<&str>) -> String

Generate a random identifier by mask

Arguments:

  • mask - The mask. Here @ is a placeholder for characters and # is placeholder for digits

Auto Trait Implementationsยง

ยง

impl<'a> Freeze for Person<'a>

ยง

impl<'a> RefUnwindSafe for Person<'a>

ยง

impl<'a> Send for Person<'a>

ยง

impl<'a> Sync for Person<'a>

ยง

impl<'a> Unpin for Person<'a>

ยง

impl<'a> UnwindSafe for Person<'a>

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T> Instrument for T

Sourceยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Sourceยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> IntoEither for T

Sourceยง

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Sourceยง

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Sourceยง

impl<T> Same for T

Sourceยง

type Output = T

Should always be Self
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Sourceยง

fn vzip(self) -> V

Sourceยง

impl<T> WithSubscriber for T

Sourceยง

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Sourceยง

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Sourceยง

impl<T> ErasedDestructor for T
where T: 'static,