9 releases

0.1.8 Aug 22, 2021
0.1.7 Feb 27, 2021
0.1.6 Apr 10, 2020

#69 in Configuration

Download history 9/week @ 2022-04-21 67/week @ 2022-04-28 39/week @ 2022-05-05 151/week @ 2022-05-12 40/week @ 2022-05-19 41/week @ 2022-05-26 88/week @ 2022-06-02 5/week @ 2022-06-09 7/week @ 2022-06-16 3/week @ 2022-06-23 4/week @ 2022-06-30 23/week @ 2022-07-07 11/week @ 2022-07-14 30/week @ 2022-07-21 3/week @ 2022-07-28 15/week @ 2022-08-04

69 downloads per month
Used in ibuilder

MIT license

66KB
1.5K SLoC

ibuilder_derive

crates.io Docs

See the documentation of the ibuilder create for the details, you probably are looking for that.

ibuilder derive macro

Usage:

#[derive(IBuilder)]
struct Example {
    field1: i64,
    #[ibuilder(default = "something")]
    field2: String,
}

Will implement the trait ibuilder::Buildable for Example, prodiding the builder() method for getting a ibuilder::Builder.

It will also implement a private struct for keeping the state of the builder and implement the NewBuildableValue trait for Example, allowing it to be inside a fields of other derived types.

License: MIT


lib.rs:

crates.io Docs

See the documentation of the ibuilder create for the details, you probably are looking for that.

ibuilder derive macro

Usage:

# use ibuilder_derive::IBuilder;
#[derive(IBuilder)]
struct Example {
    field1: i64,
    #[ibuilder(default = "something")]
    field2: String,
}

Will implement the trait ibuilder::Buildable for Example, prodiding the builder() method for getting a ibuilder::Builder.

It will also implement a private struct for keeping the state of the builder and implement the NewBuildableValue trait for Example, allowing it to be inside a fields of other derived types.

Dependencies

~260–670KB
~16K SLoC