1 unstable release
0.1.0 | Feb 4, 2024 |
---|
#39 in #mapper
Used in context-mapper
31KB
692 lines
Context Mapper
Single rust macro for generating different maps
Links
Example
#[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);
Dependencies
~0.7–1.1MB
~21K SLoC