#generate #cargo-toml #lib #macro-use

无 std changeset

一个用于生成更改集的小型库

2 个版本

使用旧的 Rust 2015

0.1.1 2018年5月25日
0.1.0 2018年5月25日

#1817 in 开发工具

MIT 许可证

8KB
126 代码行

changeset

生成更改集的库。

用法

在 Cargo.toml 中添加依赖项

[dependencies]
changeset = "0.1"

并在您的 main.rs 或 lib.rs 中

#[macro_use]
extern crate changeset;

示例

changeset!(UserChangeSet {
    /// User's name
    name: String,
    age: usize
});

这将生成

struct UserChangeSet {
    /// User's name
    pub name: Option<String>,
    pub age: Option<usize>,
}

impl UserChangeSet {
    #[allow(missing_docs)]
    pub fn new() -> UserChangeSet {
        UserChangeSet {
            name: None,
            age: None,
        }
    }

    /// User's name
    pub fn name(mut self, name: String) -> UserChangeSet {
        self.name = Some(name);
        self
    }

    pub fn age(mut self, age: usize) -> UserChangeSet {
        self.age = Some(age);
        self
    }

    #[allow(missing_docs)]
    pub fn merge(&mut self, rhs: UserChangeSet) {
        if let Some(name) = rhs.name {
            self.name = Some(name);
        }
        if let Some(age) = rhs.age {
            self.age = Some(age);
        }
    }
}

您还可以通过添加 pub 关键字仅生成公共结构体。

许可证:MIT

无运行时依赖

功能