Trait quick_js::Callback[][src]

pub trait Callback<F>: RefUnwindSafe {
    fn argument_count(&self) -> usize;
fn call(
        &self,
        args: Vec<JsValue>
    ) -> Result<Result<JsValue, String>, ValueError>; }

The Callback trait is implemented for functions/closures that can be used as callbacks in the JS runtime.

Required methods

fn argument_count(&self) -> usize[src]

The number of JS arguments required.

fn call(
    &self,
    args: Vec<JsValue>
) -> Result<Result<JsValue, String>, ValueError>
[src]

Execute the callback.

Should return:

  • Err(_) if the JS values could not be converted
  • Ok(Err(_)) if an error ocurred while processing. The given error will be raised as a JS exception.
  • Ok(Ok(result)) when execution succeeded.
Loading content...

Implementors

impl<A1, A2, A3, A4, A5, R, F> Callback<PhantomData<(&'_ A1, &'_ A2, &'_ A3, &'_ A4, &'_ A5, &'_ R, &'_ F)>> for F where
    A1: TryFrom<JsValue, Error = ValueError>,
    A2: TryFrom<JsValue, Error = ValueError>,
    A3: TryFrom<JsValue, Error = ValueError>,
    A4: TryFrom<JsValue, Error = ValueError>,
    A5: TryFrom<JsValue, Error = ValueError>,
    R: IntoCallbackResult,
    F: Fn(A1, A2, A3, A4, A5) -> R + Sized + RefUnwindSafe
[src]

impl<A1, A2, A3, A4, R, F> Callback<PhantomData<(&'_ A1, &'_ A2, &'_ A3, &'_ A4, &'_ R, &'_ F)>> for F where
    A1: TryFrom<JsValue, Error = ValueError>,
    A2: TryFrom<JsValue, Error = ValueError>,
    A3: TryFrom<JsValue, Error = ValueError>,
    A4: TryFrom<JsValue, Error = ValueError>,
    R: IntoCallbackResult,
    F: Fn(A1, A2, A3, A4) -> R + Sized + RefUnwindSafe
[src]

impl<A1, A2, A3, R, F> Callback<PhantomData<(&'_ A1, &'_ A2, &'_ A3, &'_ R, &'_ F)>> for F where
    A1: TryFrom<JsValue, Error = ValueError>,
    A2: TryFrom<JsValue, Error = ValueError>,
    A3: TryFrom<JsValue, Error = ValueError>,
    R: IntoCallbackResult,
    F: Fn(A1, A2, A3) -> R + Sized + RefUnwindSafe
[src]

impl<A1, A2, R, F> Callback<PhantomData<(&'_ A1, &'_ A2, &'_ R, &'_ F)>> for F where
    A1: TryFrom<JsValue, Error = ValueError>,
    A2: TryFrom<JsValue, Error = ValueError>,
    R: IntoCallbackResult,
    F: Fn(A1, A2) -> R + Sized + RefUnwindSafe
[src]

impl<A1, R, F> Callback<PhantomData<(&'_ A1, &'_ R, &'_ F)>> for F where
    A1: TryFrom<JsValue, Error = ValueError>,
    R: IntoCallbackResult,
    F: Fn(A1) -> R + Sized + RefUnwindSafe
[src]

impl<F> Callback<PhantomData<(&'_ Arguments, &'_ F)>> for F where
    F: Fn(Arguments) + Sized + RefUnwindSafe
[src]

impl<F, R> Callback<PhantomData<(&'_ Arguments, &'_ F, &'_ R)>> for F where
    R: IntoCallbackResult,
    F: Fn(Arguments) -> R + Sized + RefUnwindSafe
[src]

impl<R, F> Callback<PhantomData<(&'_ R, &'_ F)>> for F where
    R: IntoCallbackResult,
    F: Fn() -> R + Sized + RefUnwindSafe
[src]

Loading content...