#faker #data #dummy #derive

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

#1209 in Procedural macros

Download history 11528/week @ 2024-12-21 12055/week @ 2024-12-28 32418/week @ 2025-01-04 32894/week @ 2025-01-11 39134/week @ 2025-01-18 45815/week @ 2025-01-25 46222/week @ 2025-02-01 45124/week @ 2025-02-08 39710/week @ 2025-02-15 42223/week @ 2025-02-22 43320/week @ 2025-03-01 45515/week @ 2025-03-08 46525/week @ 2025-03-15 43110/week @ 2025-03-22 44747/week @ 2025-03-29 45714/week @ 2025-04-05

187,099 downloads per month
Used in 78 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
~22K SLoC