Struct workflow_wasm::callback::Callback
source · pub struct Callback<T: ?Sized> { /* private fields */ }
Expand description
Callback
is a struct that owns a given Rust closure
meant to be bound to JavaScript as a callback.
Implementations§
source§impl<T> Callback<T>
impl<T> Callback<T>
pub fn new_with_args_0<R>(callback: T) -> Callback<dyn FnMut() -> R>where
T: 'static + FnMut() -> R,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_1<A, R>(callback: T) -> Callback<dyn FnMut(A) -> R>where
T: 'static + FnMut(A) -> R,
A: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_2<A, B, R>(callback: T) -> Callback<dyn FnMut(A, B) -> R>where
T: 'static + FnMut(A, B) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_3<A, B, C, R>(
callback: T
) -> Callback<dyn FnMut(A, B, C) -> R>where
T: 'static + FnMut(A, B, C) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
C: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_4<A, B, C, D, R>(
callback: T
) -> Callback<dyn FnMut(A, B, C, D) -> R>where
T: 'static + FnMut(A, B, C, D) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
C: FromWasmAbi + 'static,
D: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_5<A, B, C, D, E, R>(
callback: T
) -> Callback<dyn FnMut(A, B, C, D, E) -> R>where
T: 'static + FnMut(A, B, C, D, E) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
C: FromWasmAbi + 'static,
D: FromWasmAbi + 'static,
E: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_6<A, B, C, D, E, F, R>(
callback: T
) -> Callback<dyn FnMut(A, B, C, D, E, F) -> R>where
T: 'static + FnMut(A, B, C, D, E, F) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
C: FromWasmAbi + 'static,
D: FromWasmAbi + 'static,
E: FromWasmAbi + 'static,
F: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_7<A, B, C, D, E, F, G, R>(
callback: T
) -> Callback<dyn FnMut(A, B, C, D, E, F, G) -> R>where
T: 'static + FnMut(A, B, C, D, E, F, G) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
C: FromWasmAbi + 'static,
D: FromWasmAbi + 'static,
E: FromWasmAbi + 'static,
F: FromWasmAbi + 'static,
G: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new_with_args_8<A, B, C, D, E, F, G, H, R>(
callback: T
) -> Callback<dyn FnMut(A, B, C, D, E, F, G, H) -> R>where
T: 'static + FnMut(A, B, C, D, E, F, G, H) -> R,
A: FromWasmAbi + 'static,
B: FromWasmAbi + 'static,
C: FromWasmAbi + 'static,
D: FromWasmAbi + 'static,
E: FromWasmAbi + 'static,
F: FromWasmAbi + 'static,
G: FromWasmAbi + 'static,
H: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
sourcepub fn new<A, R>(callback: T) -> Callback<dyn FnMut(A) -> R>where
T: 'static + FnMut(A) -> R,
A: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
pub fn new<A, R>(callback: T) -> Callback<dyn FnMut(A) -> R>where
T: 'static + FnMut(A) -> R,
A: FromWasmAbi + 'static,
R: ReturnWasmAbi + 'static,
Create a new Callback
instance with the given closure.
source§impl<T> Callback<T>where
T: ?Sized + WasmClosure + 'static,
impl<T> Callback<T>where
T: ?Sized + WasmClosure + 'static,
sourcepub fn create<F>(t: F) -> Selfwhere
F: IntoWasmClosure<T> + 'static,
pub fn create<F>(t: F) -> Selfwhere
F: IntoWasmClosure<T> + 'static,
Create a new Callback
instance with the given closure.
sourcepub fn set_closure<F>(&mut self, t: F)where
F: IntoWasmClosure<T> + 'static,
pub fn set_closure<F>(&mut self, t: F)where
F: IntoWasmClosure<T> + 'static,
Set closure in the given Callback
instance.
sourcepub fn into_js<J>(&self) -> &Jwhere
J: JsCast,
pub fn into_js<J>(&self) -> &Jwhere
J: JsCast,
Obtain a wasm_bindgen::JsCast
value for this callback.
sourcepub fn closure(&self) -> CallbackResult<Arc<Closure<T>>>
pub fn closure(&self) -> CallbackResult<Arc<Closure<T>>>
Obtain an std::sync::Arc
of the given closure.
Returns CallbackError::ClosureNotInitialized
if the closure is None
.