Skip to main content

gremlin_derive/
lib.rs

1use proc_macro::TokenStream;
2
3mod value;
4
5#[proc_macro_derive(FromGValue)]
6pub fn derive_from_gvalue(input: TokenStream) -> TokenStream {
7    let input = syn::parse_macro_input!(input as syn::DeriveInput);
8
9    match value::derive(&input) {
10        Ok(ts) => ts.into(),
11        Err(e) => e.to_compile_error().into(),
12    }
13}
14
15#[proc_macro_derive(FromGMap)]
16pub fn derive_from_gmap(input: TokenStream) -> TokenStream {
17    let input = syn::parse_macro_input!(input as syn::DeriveInput);
18
19    match value::derive_map(&input) {
20        Ok(ts) => ts.into(),
21        Err(e) => e.to_compile_error().into(),
22    }
23}