#derive #mutator #accessor #data-structures #struct-mapping

struct_mapping_derive

用于测试StructMapping实现的Token StructMapping

2个稳定版本

1.0.1 2022年10月8日

#20 in #mutator


用于struct_mapping

MIT/Apache

10KB
145

StructMapping

StructMapping是一个用于创建基于字符串的访问器/修改器Rust数据结构的库。

工作进行中

  • 清理
  • 管道
  • 发布Crate/Cargo

StructMapping应用实例

点击显示Cargo.toml。
[dependencies]

# The core APIs
struct_mapping = { version = "1.0", features = ["derive"] }

use struct_mapping::{StructMapping, ToStructMappingField};

fn main() {
    #[derive(Default)]
    struct DeepTestStruct {}

    #[derive(StructMapping, Default)]
    struct TestStruct {
        #[struct_mapping(rename = "jimmy", alias = "jian_yang")]
        jian: u32,
        #[struct_mapping(skip)]
        #[allow(dead_code)]
        deep: DeepTestStruct,
    }

    let mut ex = TestStruct::default();

     // print "0"
    println!("{}", ex.sm_get("jimmy").unwrap());

    ex.sm_set("jimmy", "128").unwrap();

    // print "128"
    println!("{}", ex.sm_get("jimmy").unwrap());

    // print ["jimmy", "jian_yang"]
    println!("{:?}", TestStruct::sm_list());
}

许可证

根据您的选择,在Apache许可证,版本2.0MIT许可证下授权。
除非您明确声明,否则您提交给struct_mapping的任何有意贡献,根据Apache-2.0许可证定义,应作为上述双许可,而不附加任何额外条款或条件。

依赖关系

~2MB
~42K SLoC