wa_serde_derive/
lib.rs

1extern crate proc_macro;
2extern crate watt;
3
4use proc_macro::TokenStream;
5use watt::WasmMacro;
6
7static MACRO: WasmMacro = WasmMacro::new(WASM);
8static WASM: &[u8] = include_bytes!("serde_derive.wasm");
9
10#[proc_macro_derive(Serialize, attributes(serde))]
11pub fn derive_serialize(input: TokenStream) -> TokenStream {
12    MACRO.proc_macro_derive("derive_serialize", input)
13}
14
15#[proc_macro_derive(Deserialize, attributes(serde))]
16pub fn derive_deserialize(input: TokenStream) -> TokenStream {
17    MACRO.proc_macro_derive("derive_deserialize", input)
18}