pessoa 0.1.4

Library for generating fake identities/user data in different languages. The crate is named after the Portuguese word for 'person'.
Documentation
pub use fake_rs::{
    Fake,
    faker::{
        address::raw::*, company::raw::*, creditcard::raw::CreditCardNumber, internet::raw::*,
        name::raw::*, phone_number::raw::*,
    },
};
use strum::EnumString;

#[derive(Debug, Clone, PartialEq, Eq, EnumString)]
#[strum(serialize_all = "snake_case")]
pub enum Locale {
    EnUs,
    PtPt,
    PtBr,
    FrFr,
    ZhTw,
    ZhCn,
    JaJp,
    ArSa,
    DeDe,
}

#[macro_export]
macro_rules! fake {
    ($faker:expr, $locale:expr $(, $opts:expr)*) => {
        match $locale {
            Locale::EnUs => $faker(::fake_rs::locales::EN, $($opts),*).fake(),
            Locale::PtPt => $faker(::fake_rs::locales::PT_PT, $($opts),*).fake(),
            Locale::PtBr => $faker(::fake_rs::locales::PT_BR, $($opts),*).fake(),
            Locale::FrFr => $faker(::fake_rs::locales::FR_FR, $($opts),*).fake(),
            Locale::ZhTw => $faker(::fake_rs::locales::ZH_TW, $($opts),*).fake(),
            Locale::ZhCn => $faker(::fake_rs::locales::ZH_CN, $($opts),*).fake(),
            Locale::JaJp => $faker(::fake_rs::locales::JA_JP, $($opts),*).fake(),
            Locale::ArSa => $faker(::fake_rs::locales::AR_SA, $($opts),*).fake(),
            Locale::DeDe => $faker(::fake_rs::locales::DE_DE, $($opts),*).fake(),
        }
    };
}