Skip to content

Commit b7edbd2

Browse files
authored
Expose WebAssembly.Instance (#3296)
1 parent 5621603 commit b7edbd2

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

crates/cli-support/src/intrinsic.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,9 @@ intrinsics! {
243243
#[symbol = "__wbindgen_memory"]
244244
#[signature = fn() -> Externref]
245245
Memory,
246+
#[symbol = "__wbindgen_exports"]
247+
#[signature = fn() -> Externref]
248+
Exports,
246249
#[symbol = "__wbindgen_module"]
247250
#[signature = fn() -> Externref]
248251
Module,

crates/cli-support/src/js/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3535,6 +3535,11 @@ impl<'a> Context<'a> {
35353535
format!("__wbg_init.__wbindgen_wasm_module")
35363536
}
35373537

3538+
Intrinsic::Exports => {
3539+
assert_eq!(args.len(), 0);
3540+
"wasm".to_string()
3541+
}
3542+
35383543
Intrinsic::Memory => {
35393544
assert_eq!(args.len(), 0);
35403545
let mut memories = self.module.memories.iter();

src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,6 +1082,7 @@ externs! {
10821082

10831083
fn __wbindgen_not(idx: u32) -> u32;
10841084

1085+
fn __wbindgen_exports() -> u32;
10851086
fn __wbindgen_memory() -> u32;
10861087
fn __wbindgen_module() -> u32;
10871088
fn __wbindgen_function_table() -> u32;
@@ -1358,6 +1359,11 @@ pub fn module() -> JsValue {
13581359
unsafe { JsValue::_new(__wbindgen_module()) }
13591360
}
13601361

1362+
/// Returns a handle to this wasm instance's `WebAssembly.Instance.prototype.exports`
1363+
pub fn exports() -> JsValue {
1364+
unsafe { JsValue::_new(__wbindgen_exports()) }
1365+
}
1366+
13611367
/// Returns a handle to this wasm instance's `WebAssembly.Memory`
13621368
pub fn memory() -> JsValue {
13631369
unsafe { JsValue::_new(__wbindgen_memory()) }

0 commit comments

Comments
 (0)