#faker #data

macro dummy

Macros implementation of #[derive(Dummy)]

18 releases (9 breaking)

0.11.0 Mar 21, 2025
0.9.2 Feb 14, 2025
0.9.1 Nov 7, 2024
0.7.0 Oct 25, 2023
0.2.1 Mar 17, 2019

#1297 in Procedural macros

Download history 49250/week @ 2025-08-15 44667/week @ 2025-08-22 47147/week @ 2025-08-29 48673/week @ 2025-09-05 49829/week @ 2025-09-12 51950/week @ 2025-09-19 55634/week @ 2025-09-26 53847/week @ 2025-10-03 62550/week @ 2025-10-10 64914/week @ 2025-10-17 63189/week @ 2025-10-24 65791/week @ 2025-10-31 61891/week @ 2025-11-07 66892/week @ 2025-11-14 67419/week @ 2025-11-21 55290/week @ 2025-11-28

265,224 downloads per month
Used in 132 crates (via fake)

MIT/Apache

15KB
274 lines

Dummy

Latest Version

This crate provide derive(Dummy) macros. use it via fake crate with derive feature

Installation

[dependencies]
fake = { version = "4", features=["derive"] }

Usage

use fake::faker::boolean::en::*;
use fake::faker::company::en::*;
use fake::faker::name::en::*;
use fake::Dummy;
use fake::{Fake, Faker};

#[derive(Debug, Dummy)]
pub struct Order {
    #[dummy(faker = "1000..")]
    order_id: usize,

    #[dummy(faker = "Name()")]
    customer: String,

    #[dummy(faker = "(Faker, 3..5)")]
    items: Vec<Item>,

    #[dummy(faker = "Boolean(70)")]
    paid: bool,
}

#[derive(Debug, Dummy)]
pub struct Item {
    #[dummy(faker = "1..100")]
    product_id: usize,

    qty: u8,

    #[dummy(faker = "CompanyName()")]
    company: String,
}

fn main() {
    let order: Order = Faker.fake();
    println!("{:#?}", order);
}

License

This project is licensed under either of

at your option.

Dependencies

~0.5–1MB
~21K SLoC