struct_mapping

Crates.iostruct_mapping
lib.rsstruct_mapping
version1.0.1
sourcesrc
created_at2022-10-08 23:41:01.380403
updated_at2022-10-08 23:46:01.190712
descriptionToken StructMapping for testing StructMapping implementations
homepage
repositoryhttps://github.com/IniterWorker/struct_mapping
max_upload_size
id683766
size19,514
Walter Bonetti (IniterWorker)

documentation

README

StructMapping

StructMapping is a library for create string-based accessors/mutators Rust data structure.

Work In Progress

  • Clean-Up
  • Pipeline
  • Publish Crate/Cargo

StructMapping in action

Click to show 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());
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in struct_mapping by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Commit count: 7

cargo fmt