Skip to main content

JsHostFn

Trait JsHostFn 

pub trait JsHostFn<T, A>:
    Send
    + Sync
    + 'static { }
Available on crate features js and std only.
Expand description

A read-only method with typed, extractor-style arguments.

This trait is implemented for closures whose first argument is &T. The remaining arguments are extracted from the JavaScript call.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> JsHostFn<T, ((A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static, A7: JsArg + 'static, A8: JsArg + 'static, A9: JsArg + 'static, A10: JsArg + 'static, A11: JsArg + 'static, A12: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> JsHostFn<T, ((A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static, A7: JsArg + 'static, A8: JsArg + 'static, A9: JsArg + 'static, A10: JsArg + 'static, A11: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> JsHostFn<T, ((A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static, A7: JsArg + 'static, A8: JsArg + 'static, A9: JsArg + 'static, A10: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6, A7, A8, A9> JsHostFn<T, ((A1, A2, A3, A4, A5, A6, A7, A8, A9), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static, A7: JsArg + 'static, A8: JsArg + 'static, A9: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6, A7, A8> JsHostFn<T, ((A1, A2, A3, A4, A5, A6, A7, A8), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6, A7, A8) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static, A7: JsArg + 'static, A8: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6, A7> JsHostFn<T, ((A1, A2, A3, A4, A5, A6, A7), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6, A7) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static, A7: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5, A6> JsHostFn<T, ((A1, A2, A3, A4, A5, A6), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5, A6) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static, A6: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4, A5> JsHostFn<T, ((A1, A2, A3, A4, A5), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4, A5) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static, A5: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3, A4> JsHostFn<T, ((A1, A2, A3, A4), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3, A4) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static, A4: JsArg + 'static,

§

impl<T, F, R, M, A1, A2, A3> JsHostFn<T, ((A1, A2, A3), M)> for F
where T: 'static, F: Fn(&T, A1, A2, A3) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static, A3: JsArg + 'static,

§

impl<T, F, R, M, A1, A2> JsHostFn<T, ((A1, A2), M)> for F
where T: 'static, F: Fn(&T, A1, A2) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static, A2: JsArg + 'static,

§

impl<T, F, R, M, A1> JsHostFn<T, ((A1,), M)> for F
where T: 'static, F: Fn(&T, A1) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static, A1: JsArg + 'static,

§

impl<T, F, R, M> JsHostFn<T, ((), M)> for F
where T: 'static, F: Fn(&T) -> R + Send + Sync + 'static, R: JsFnOutput<M>, M: 'static,