Skip to content

πŸ¦€ Fake Data Generator written in Rust - fully inspired by https://mimesis.name 🐍

License

Notifications You must be signed in to change notification settings

hack-wrench/warlocks-cauldron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

77 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§™β€β™€οΈ Warlock's Cauldron

πŸ¦€ Fake Data Generator written in Rust - fully inspired by https://mimesis.name 🐍

Installation

All localizations are enabled by default feature, you can specify localizations in features!

[dependencies.warlocks-cauldron]
version = "0.26.9"
# git = "https://github.com/hack-wrench/warlocks-cauldron"
# features = ["en"] # For example to use only english localization

Supported languages

There are currently 26 languages available: cs, da, de, el, en, es, et, fa, fi, fr, hu, is, it, ja, kk, ko, nl, no, pl, pt, ru, sk, sv, tr, uk, zh

Supported providers

There are currently 18 providers available: Address, Choice, Code, Cryptographic, Date, Development, File, Finance, Food, Hardware, Internet, Numeric, Path, Payment, Person, Science, Text, Transport

Examples

Visit /examples for detailed examples. In the process of development it was decided to make the workflow as close to mimesis as possible, most of the methods and namespace were taken from there.

use warlocks_cauldron::*;

fn main() {
    // A common option for most providers
    let complex = ComplexProvider::new(&Locale::EN);
    println!("Person: {}", complex.person.full_name(None, false));
    println!("Telephone: {}", complex.person.telephone(None));
    println!("Address: {}", complex.address.full_address());
    println!("Birthday: {}", Datetime::date(1940, 2000));
    println!("Weight: {} kg", Person::weight(30, 90));
    println!("Height: {} m", Person::height(1.5, 2.0));

    // But you can also use single providers
    let russian_person = Person(&Locale::RU);
    println!("Their Russian friend: {}", russian_person.full_name(Some(Gender::MALE), false));
}

License

This project is licensed under the GPL-3.0 license