Pour déclarer une fonction, nous avons besoin de deux choses:
La signature Rust de cette fonction est:
register_function(js:&str) -> usize
Cependant, étant donné que WebAssembly et JavaScript ne peuvent échanger que des nombres et que tous les nombres en JavaScript sont des float 64 bits, la signature de cette fonction côté JavaScript sera:
register_function(js_start:f64,js_len:f64) -> f64
Nous profitons de la fonction eval
de JavaScript permettant d'évaluer du code
JavaScript représenté sous forme d'une chaîne de caractères.