#leptos #js #generate #macro #file #bindings #file-path

macro wasmbind-js-file-macro

Provide a macro to generate JavaScript bindings from an external JS file

2 releases

new 0.1.2 Oct 28, 2024
0.1.1 Oct 22, 2024
0.1.0 Oct 22, 2024

#132 in #leptos

Download history 298/week @ 2024-10-21

298 downloads per month
Used in trading-charts

MIT license

6KB
62 lines

Crates.io Docs.rs

Wasmbind JS File Macro

Provide a macro to generate JavaScript bindings from an external JS file.

The procedural macro will generate the #[wasm_bindgen] attribute with parameter inline_js. The parameter inline_js will be filled by this macro with the content of the file that the path is passed as the argument path of this macro. The path can contain ${outDir} placeholders which is the value of the OUT_DIR environment variable.

Pre-requisites

The crate wasm-bindgen must be in the dependencies of the project.

Example

use wasmbind_js_macro::wasmbind_js;

#[wasmbind_dump_js_file_as_inline(path = "${outDir}/js/external.js")]
extern "C" {
    fn external_function();
}

This will generate the following code:

#[wasm_bindgen(inline_js = r###" ... here is the content of the file external.js ... "###)]
extern "C" {
    fn external_function();
}

Dependencies

~255–700KB
~17K SLoC