wrap_v8_accessor

Macro wrap_v8_accessor 

Source
macro_rules! wrap_v8_accessor {
    ($ vis : vis struct $ name : ident ; impl V8Accessor { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
    ($ vis : vis struct $ name : ident $ (< $ ($ generic_type : ident : $ first_generic_type_bound : tt $ (+ $ generic_type_bound : tt) *) , + $ (,) ? >) ? { $ ($ field_vis : vis $ field_name : ident : $ field_type : ty) , * $ (,) ? } impl V8Accessor { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

Implement the WrapV8Accessor trait for the specified struct. You can declare more members for your struct, and in the impl V8Accessor block you can override default methods implemented by the ImplV8Accessor trait.

ยงExample


wrap_v8_accessor! {
    struct MyV8Accessor {
        payload: String,
    }

    impl V8Accessor {
        // ...
    }
}

fn make_my_struct() -> V8Accessor {
    MyV8Accessor::new("payload".to_string())
}