A Rust library for generating fake data.
Default:
toml
[dependencies]
fake = "*"
If you want the date and time features from chrono:
toml
[dependencies.fake]
version = "*"
features = ["chrono"]
If you want Http faker features:
toml
[dependencies.fake]
version = "*"
features = ["http"]
```rust // Use macro style
extern crate fake;
fake!(Internet.freeemail); fake!(Company.name); fake!(Name.name); fake!(Name.name in zhtw);
// Custom fake string
fn tolowercase
// Use function call style use fake::faker::*;
Faker::free_email();
// In case multiple candidates available
// Switch locales
use fake::locales::zh_tw;
println!("{}",
rust
println!("{:?}", fake!(Lorem.word));
println!("{:?}", fake!(Lorem.words(10)));
println!("{:?}", fake!(Lorem.sentence(4, 6)));
println!("{:?}", fake!(Lorem.sentences(10)));
println!("{:?}", fake!(Lorem.paragraph(7, 3)));
println!("{:?}", fake!(Lorem.paragraphs(3)));
```rust println!("{:?}", fake!(Name.firstname)); println!("{:?}", fake!(Name.lastname)); println!("{:?}", fake!(Name.name)); println!("{:?}", fake!(Name.namewithmiddle)); println!("{:?}", fake!(Name.titledescriptor)); println!("{:?}", fake!(Name.titlelevel)); println!("{:?}", fake!(Name.title_job)); println!("{:?}", fake!(Name.title));
println!("{}", fake!(Name.firstname in zhtw)); println!("{}", fake!(Name.lastname in zhtw)); println!("{}", fake!(Name.name in zh_tw)); ```
rust
println!("{:?}", fake!(Number.digit));
println!("{:?}", fake!(Number.number(10)));
println!("{:?}", fake!(Number.between(5, 10)));
println!("{:?}", fake!(Number.between(5.0_f32, 10.0_f32)));
rust
println!("{:?}", fake!(Boolean.boolean));
rust
println!("{:?}", fake!(Internet.free_email_provider));
println!("{:?}", fake!(Internet.domain_suffix));
println!("{:?}", fake!(Internet.user_name));
println!("{:?}", fake!(Internet.free_email));
println!("{:?}", fake!(Internet.safe_email));
println!("{:?}", fake!(Internet.ip));
println!("{:?}", fake!(Internet.ipv4));
println!("{:?}", fake!(Internet.ipv6));
println!("{:?}", fake!(Internet.color));
println!("{:?}", fake!(Internet.user_agent);
```rust // return status code with RFC println!("{:?}", fake!(Http.statuscode)); println!("{:?}", fake!(Http.statuscode).canonical_reason());
// return status code within (100, 600] println!("{:?}", fake!(Http.allstatuscode)); println!("{:?}", fake!(Http.allstatuscode).canonical_reason());
// http::StatusCode implement Dummy which return status code with RFC use http; println!("{:?}", http::StatusCode::dummy()); println!("{:?}", dummy!(http::StatusCode)); println!("{:?}", dummy!(Vechttp::StatusCode)); ```
rust
println!("{:?}", fake!(Company.suffix));
println!("{:?}", fake!(Company.name));
println!("{:?}", fake!(Company.buzzword));
println!("{:?}", fake!(Company.catch_phase));
println!("{:?}", fake!(Company.bs));
println!("{:?}", fake!(Company.profession));
println!("{:?}", fake!(Company.industry));
rust
println!("{:?}", fake!(Address.time_zone));
println!("{:?}", fake!(Address.city_prefix));
println!("{:?}", fake!(Address.city_suffix));
println!("{:?}", fake!(Address.street_suffix));
println!("{:?}", fake!(Address.state));
println!("{:?}", fake!(Address.state_abbr));
println!("{:?}", fake!(Address.city));
println!("{:?}", fake!(Address.street_name));
println!("{:?}", fake!(Address.building_number));
println!("{:?}", fake!(Address.street_address));
println!("{:?}", fake!(Address.secondary_address));
println!("{:?}", fake!(Address.zip));
println!("{:?}", fake!(Address.postcode));
println!("{:?}", fake!(Address.latitude));
println!("{:?}", fake!(Address.longitude));
rust
println!("{:?}", fake!(PhoneNumber.phone_number));
// N => [1..9], # => [0..9]
println!("{:?}", fake!(PhoneNumber.phone_number_with_format("N###-####")));
println!("{:?}", fake!(PhoneNumber.cell_number));
```rust use chrono::prelude::*;
let early = Utc.ymd(2010, 4, 20).andhms(11, 11, 11); let late = Utc.ymd(2020, 6, 5).andhms(9, 32, 33); let now = Utc::now(); let fmt = "%a %b %e %T %Y %:z"; let nowstr = now.format(fmt).tostring();
println!("{:?}", fake!(Chrono.time(Some("%I.%M.%S %p"))); println!("{:?}", fake!(Chrono.date(Some("%A %Y.%m.%d"))); println!("{:?}", fake!(Chrono.datetime(None))); println!("{:?}", fake!(Chrono.before(Some(fmt), nowstr))); println!("{:?}", fake!(Chrono.after(Some(fmt), nowstr))); println!( "{:?}", fake!(Chrono.between( Some(fmt), &early.format(fmt).tostring(), &late.format(fmt).tostring() )) ); println!( "{:?}", fake!( Chrono.between( None, &early.torfc3339(), &late.torfc3339() ) ) ); ```
rust
// dummy macro take T: Dummy
println!("{:?}", dummy!(i32));
println!("{:?}", dummy!(Vec<Vec<i32>>));
cargo test
The MIT License (MIT)