Crates.io | context-mapper |
lib.rs | context-mapper |
version | 0.1.1 |
source | src |
created_at | 2024-02-04 23:25:20.227957 |
updated_at | 2024-02-05 21:12:56.872948 |
description | Single rust macro for generating different maps |
homepage | |
repository | |
max_upload_size | |
id | 1126761 |
size | 7,819 |
Single rust macro for generating different maps
#[derive(ContextMapper)]
#[context_mapper(
impl(
context = info::general
converter = MyConv::to_info,
type = info::Info,
fn = general_info
vis = pub(crate)
),
function(
context = info::all
converter = MyConv::to_info,
type = info::Info,
fn = all_info
),
)]
struct Person {
name: String,
address: info::Address,
age: usize,
/// Let's hide it for the geneal info, but show for the rest
#[context_attribute(context(name=info::general, skip))]
is_a_reptile: bool
}
// …
let person = Person {
//…
};
person.general_info();
all_info(&person);