➡️
【Rust】WasmでRustの関数名をJSのcamelCaseで公開する
Rustの関数をwasm化する場合、デフォルトではRustの関数名と同様にsnake_caseとなる。JavaScriptで利用する場合、JavaScriptで標準的なcamelCaseで公開する必要があります。
wasm_bindgenクレートでJavaScript側の公開名を変えるには、#[wasm_bindgen]マクロにjs_name引数を指定することで変更できる。
下記はRust側のコード例
use wasm_bindgen::prelude::*;
#[wasm_bindgen(js_name = doTheThing)]
pub fn do_the_thing() -> u32 {
42
}
JavaScript側では下記のようにcamelCaseで書くことができる。
import init, { doTheThing } from "./pkg/wasm_js_name.js";
console.log(doTheThing()); // 42
Discussion