#derive-builder #builder-pattern #builder #derive #proc-macro #procedural

builder derive more

为 builder 模式提供额外的过程宏

1 个不稳定版本

0.1.0 2024 年 1 月 6 日

#23#derive-builder

Download history 13/week @ 2024-03-13 15/week @ 2024-03-20 24/week @ 2024-03-27 13/week @ 2024-04-03 29/week @ 2024-04-17 95/week @ 2024-04-24 40/week @ 2024-05-08 54/week @ 2024-05-15 25/week @ 2024-05-22 20/week @ 2024-05-29 20/week @ 2024-06-05 44/week @ 2024-06-12 24/week @ 2024-06-19 18/week @ 2024-06-26

108 每月下载量
用于 4 个软件包 (3 直接使用)

MIT/Apache

10KB

builder_derive_more

crates.io Rust codecov

为 builder 模式提供额外的 Rust 过程宏。

说明

Rust

builder_derive_more 添加为 Rust 依赖项到您的 Cargo.toml 清单。

[dependencies]
builder_derive_more = "0.1"

使用

之后,您可以在生成 builder 模式的同时使用 #[derive(IntoBuilder)](例如通过 derive_builder)。

use builder_derive_more::IntoBuilder;
use derive_builder::Builder;

#[derive(Builder, IntoBuilder)]
pub struct Foo {
    bar: String,
}

这允许您将具有命名字段的 struct 转换回 builder 以进行配置。

// `IntoBuilder` derive provides the `Foo::builder()` and `Foo::configure(self)` methods.
let foo: Foo = Foo::builder().bar("bar").build().unwrap();
let foo_builder: FooBuilder = foo.configure();

许可

本项目采用 MIT 或 Apache 2.0 许可证双许可,以兼容 Rust 项目。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献都应如上所述双许可,不附加任何额外条款或条件。

依赖关系

~290–750KB
~18K SLoC