dragula 0.1.0

Rust WASM wrapper for Dragula
Documentation
use wasm_bindgen::prelude::*;

pub fn to_js_1<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue),
{
    let closure = Closure::wrap(Box::new(listener) as Box<dyn FnMut(JsValue)>);
    closure.into_js_value()
}

pub fn to_js_2<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue, JsValue),
{
    let closure =
        Closure::wrap(Box::new(listener) as Box<dyn FnMut(JsValue, JsValue)>);
    closure.into_js_value()
}

pub fn to_js_3<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue, JsValue, JsValue),
{
    let closure = Closure::wrap(
        Box::new(listener) as Box<dyn FnMut(JsValue, JsValue, JsValue)>
    );
    closure.into_js_value()
}

pub fn to_js_4<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue, JsValue, JsValue, JsValue),
{
    let closure = Closure::wrap(Box::new(listener)
        as Box<dyn FnMut(JsValue, JsValue, JsValue, JsValue)>);
    closure.into_js_value()
}

pub fn to_js_1_ret<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue) -> bool,
{
    let closure =
        Closure::wrap(Box::new(listener) as Box<dyn FnMut(JsValue) -> bool>);
    closure.into_js_value()
}

pub fn to_js_2_ret<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue, JsValue) -> bool,
{
    let closure = Closure::wrap(
        Box::new(listener) as Box<dyn FnMut(JsValue, JsValue) -> bool>
    );
    closure.into_js_value()
}

pub fn to_js_4_ret<F: 'static>(listener: F) -> JsValue
where
    F: FnMut(JsValue, JsValue, JsValue, JsValue) -> bool,
{
    let closure = Closure::wrap(Box::new(listener)
        as Box<dyn FnMut(JsValue, JsValue, JsValue, JsValue) -> bool>);
    closure.into_js_value()
}