mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-29 13:06:06 +03:00
parent
8b5f5a7560
commit
021cbbab71
@ -2866,6 +2866,20 @@ pub mod WebAssembly {
|
||||
#[wasm_bindgen(js_namespace = WebAssembly)]
|
||||
pub fn compile(buffer_source: &JsValue) -> Promise;
|
||||
|
||||
/// The `WebAssembly.instantiate()` function allows you to compile and
|
||||
/// instantiate WebAssembly code.
|
||||
///
|
||||
/// [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate)
|
||||
#[wasm_bindgen(js_namespace = WebAssembly, js_name = instantiate)]
|
||||
pub fn instantiate_buffer(buffer: &[u8], imports: &Object) -> Promise;
|
||||
|
||||
/// The `WebAssembly.instantiate()` function allows you to compile and
|
||||
/// instantiate WebAssembly code.
|
||||
///
|
||||
/// [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate)
|
||||
#[wasm_bindgen(js_namespace = WebAssembly, js_name = instantiate)]
|
||||
pub fn instantiate_module(module: &Module, imports: &Object) -> Promise;
|
||||
|
||||
/// The `WebAssembly.validate()` function validates a given typed
|
||||
/// array of WebAssembly binary code, returning whether the bytes
|
||||
/// form a valid wasm module (`true`) or not (`false`).
|
||||
|
@ -172,6 +172,17 @@ fn webassembly_instance() {
|
||||
assert!(Reflect::has(exports.as_ref(), &"exported_func".into()));
|
||||
}
|
||||
|
||||
#[wasm_bindgen_test(async)]
|
||||
fn instantiate_module() -> impl Future<Item = (), Error = JsValue> {
|
||||
let module = WebAssembly::Module::new(&get_valid_wasm()).unwrap();
|
||||
let imports = get_imports();
|
||||
let p = WebAssembly::instantiate_module(&module, &imports);
|
||||
JsFuture::from(p)
|
||||
.map(|inst| {
|
||||
assert!(inst.is_instance_of::<WebAssembly::Instance>());
|
||||
})
|
||||
}
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn memory_works() {
|
||||
let obj = Object::new();
|
||||
|
Loading…
Reference in New Issue
Block a user