bauer 0.1.0

A derive macro for automatically generating the builder pattern
Documentation

bauer

Crates.io Documentation Dependency status

A derive macro for automatically generating the builder pattern

use bauer::Builder;

#[derive(Builder)]
pub struct Foo {
    #[builder(default = "42")]
    field_a: u32,
    field_b: bool,
    #[builder(into)]
    field_c: String,
    #[builder(repeat, repeat_n = 1..4)]
    field_d: Vec<f32>,
}

let foo: Foo = Foo::builder()
    .field_b(true)
    .field_c("hello world")
    .field_d(3.14)
    .field_d(6.28)
    .field_d(2.72)
    .build()
    .unwrap();

assert_eq!(
    foo,
    Foo {
        field_a: 42,
        field_b: true,
        field_c: String::from("hello world"),
        field_d: vec![3.14, 6.28, 2.72],
    },
);