pub enum Callback<R: ?Sized, J: AsRef<Function>> {
Rust(CallbackWithContext<R>),
Js(CallbackWithContext<J>),
}Expand description
Wrapper type for a callback that can be either a JavaScript callback or a Rust callback
Variants§
Rust(CallbackWithContext<R>)
Js(CallbackWithContext<J>)
Implementations§
Source§impl<R: ?Sized, J: AsRef<Function>> Callback<R, J>
impl<R: ?Sized, J: AsRef<Function>> Callback<R, J>
pub fn new_rs(rs_callback: impl Into<CallbackWithContext<R>>) -> Self
pub fn new_js(callback: impl Into<CallbackWithContext<J>>) -> Self
pub fn js(&self) -> Option<CallbackWithContext<J>>
pub fn rs(&self) -> Option<CallbackWithContext<R>>
pub fn js_unwrap(&self) -> CallbackWithContext<J>
pub fn rs_unwrap(&self) -> CallbackWithContext<R>
Source§impl<R: ?Sized, J: AsRef<Function> + Clone> Callback<R, J>
impl<R: ?Sized, J: AsRef<Function> + Clone> Callback<R, J>
pub fn js_inner_owned(&self) -> Option<J>
Source§impl<R: ?Sized + Clone, J: AsRef<Function>> Callback<R, J>
impl<R: ?Sized + Clone, J: AsRef<Function>> Callback<R, J>
pub fn rs_inner_owned(&self) -> Option<R>
Source§impl<J: AsRef<Function>> Callback<dyn Fn(), J>
impl<J: AsRef<Function>> Callback<dyn Fn(), J>
Sourcepub fn call_with_no_arg(&self)
pub fn call_with_no_arg(&self)
If the function is a rust callback, the argument is supplied, otherwise the javascript function is called without any arguments.
Source§impl<A, J: AsRef<Function>> Callback<dyn Fn(A), J>
impl<A, J: AsRef<Function>> Callback<dyn Fn(A), J>
Sourcepub fn call_with_rust_arg(&self, a: A)
pub fn call_with_rust_arg(&self, a: A)
If the function is a rust callback, the argument is supplied, otherwise the javascript function is called without any arguments.
Source§impl<A, R: JsCast, J: AsRef<Function>> Callback<dyn Fn(A) -> R, J>
impl<A, R: JsCast, J: AsRef<Function>> Callback<dyn Fn(A) -> R, J>
Sourcepub fn call_with_rust_arg_and_return(&self, a: A) -> R
pub fn call_with_rust_arg_and_return(&self, a: A) -> R
If the function is a rust callback, the argument is supplied, otherwise the javascript function is called without any arguments.
Returns the result value
Source§impl<A: Into<JsValue>, J: AsRef<Function>> Callback<dyn Fn(A), J>
impl<A: Into<JsValue>, J: AsRef<Function>> Callback<dyn Fn(A), J>
Sourcepub fn call_with_js_arg(&self, a: A)
pub fn call_with_js_arg(&self, a: A)
Calls either underlying callback with the argument supplied
Source§impl<W: Into<JsValue>, A: IntoJsWrapper<Result = W>, J: AsRef<Function>> Callback<dyn Fn(A), J>
impl<W: Into<JsValue>, A: IntoJsWrapper<Result = W>, J: AsRef<Function>> Callback<dyn Fn(A), J>
Sourcepub fn call_with_into_js_arg(&self, a: A)
pub fn call_with_into_js_arg(&self, a: A)
Calls either underlying callback with the argument supplied
Trait Implementations§
Source§impl<R: ?Sized, J: AsRef<Function>> PartialOrd for Callback<R, J>
impl<R: ?Sized, J: AsRef<Function>> PartialOrd for Callback<R, J>
impl<R: ?Sized, J: AsRef<Function>> Eq for Callback<R, J>
Auto Trait Implementations§
impl<R, J> Freeze for Callback<R, J>where
R: ?Sized,
impl<R, J> RefUnwindSafe for Callback<R, J>
impl<R, J> !Send for Callback<R, J>
impl<R, J> !Sync for Callback<R, J>
impl<R, J> Unpin for Callback<R, J>where
R: ?Sized,
impl<R, J> UnwindSafe for Callback<R, J>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more