extern crate proc_macro;
use TokenStream;
use ;
/// Derive macro for the `Typewire` trait.
///
/// Generates `to_js` and `from_js` implementations gated by
/// `#[cfg(target_arch = "wasm32")]`, respecting all serde attributes
/// that affect the wire shape.
///
/// # Example
///
/// ```ignore
/// use typewire::Typewire;
///
/// #[derive(Typewire)]
/// #[serde(rename_all = "camelCase")]
/// struct MyStruct {
/// field_name: String,
/// #[serde(skip)]
/// internal: u32,
/// }
/// ```