Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 79892c4

Browse files
committedMar 14, 2025·
Get futures to work with emscripten mode
1 parent b4f6ec0 commit 79892c4

File tree

1 file changed

+21
-28
lines changed
  • crates/cli-support/src/js

1 file changed

+21
-28
lines changed
 

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

+21-28
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@ __wbg_set_wasm(wasm);"
995995
global = "$textEncoder: \"new TextEncoder()\",";
996996
}
997997

998-
if global != "" {
998+
if !global.is_empty() {
999999
global_emscripten_initializer = format!(
10001000
"{}{}\n",
10011001
global_emscripten_initializer, global
@@ -1008,7 +1008,7 @@ __wbg_set_wasm(wasm);"
10081008
{}
10091009
$initBindgen__deps: ['$addOnInit'],
10101010
$initBindgen__postset: 'addOnInit(initBindgen);',
1011-
", imports_init.to_string(), global_emscripten_initializer
1011+
", imports_init, global_emscripten_initializer
10121012
)}
10131013
_ => format!(
10141014
"\
@@ -1729,8 +1729,7 @@ __wbg_set_wasm(wasm);"
17291729
}}
17301730
17311731
WASM_VECTOR_LEN = offset;
1732-
return ptr;
1733-
}}",
1732+
return ptr;",
17341733
debug = debug,
17351734
ascii = encode_as_ascii,
17361735
mem_formatted = mem_formatted,
@@ -1742,10 +1741,10 @@ __wbg_set_wasm(wasm);"
17421741
),
17431742
&format!("{ret}"),
17441743
"(arg, malloc, realloc)",
1745-
&vec![
1746-
format!("'$encodeString'"),
1744+
&[
1745+
"'$encodeString'".to_string(),
17471746
format!("'${text_encoder}'"),
1748-
format!("'$WASM_VECTOR_LEN'"),
1747+
"'$WASM_VECTOR_LEN'".to_string(),
17491748
],
17501749
);
17511750

@@ -1835,12 +1834,11 @@ __wbg_set_wasm(wasm);"
18351834
}}
18361835
WASM_VECTOR_LEN = array.length;
18371836
return ptr;
1838-
}}
18391837
",
18401838
),
18411839
&format!("{ret}"),
18421840
"(array, malloc)",
1843-
&vec![format!("'${add}'"), format!("'$WASM_VECTOR_LEN'")],
1841+
&[format!("'${add}'"), "'$WASM_VECTOR_LEN'".to_string()],
18441842
);
18451843
}
18461844
_ => {
@@ -2453,33 +2451,30 @@ __wbg_set_wasm(wasm);"
24532451
const idx = {}(e);
24542452
wasm.{}(idx);
24552453
}}
2456-
}}
24572454
",
24582455
add, store,
24592456
),
24602457
"handleError",
24612458
"(f, args)",
2462-
&vec![format!("'${add}'")],
2459+
&[format!("'${add}'")],
24632460
);
24642461
}
24652462
_ => {
24662463
self.expose_add_heap_object();
24672464
self.write_js_function(
24682465
&format!(
24692466
"\
2470-
function handleError(f, args) {{
24712467
try {{
24722468
return f.apply(this, args);
24732469
}} catch (e) {{
24742470
wasm.{}(addHeapObject(e));
24752471
}}
2476-
}}
24772472
",
24782473
store,
24792474
),
24802475
"handleError",
24812476
"(f, args)",
2482-
&vec![format!("'$addHeapObject'")],
2477+
&["'$addHeapObject'".to_string()],
24832478
);
24842479
}
24852480
}
@@ -2510,11 +2505,10 @@ __wbg_set_wasm(wasm);"
25102505
error);
25112506
throw e;
25122507
}
2513-
}
25142508
",
25152509
"logError",
25162510
"(f, args)",
2517-
&Default::default(),
2511+
&[],
25182512
);
25192513
}
25202514

@@ -2856,12 +2850,12 @@ __wbg_set_wasm(wasm);"
28562850
self.emscripten_library.push('\n');
28572851
}
28582852

2859-
fn write_js_function(&mut self, body: &str, func_name: &str, args: &str, deps: &Vec<String>) {
2853+
fn write_js_function(&mut self, body: &str, func_name: &str, args: &str, deps: &[String]) {
28602854
if matches!(self.config.mode, OutputMode::Emscripten) {
28612855
self.emscripten_library(&format!(
2862-
"
2863-
${}: function{} {{
2864-
{},
2856+
"${}: function{} {{
2857+
{}
2858+
}},
28652859
",
28662860
func_name,
28672861
args,
@@ -2877,11 +2871,12 @@ __wbg_set_wasm(wasm);"
28772871
}
28782872
} else {
28792873
self.global(&format!(
2880-
"
2881-
function {}{} {{
2882-
{}
2874+
"function {}{} {{{}
2875+
}}
28832876
",
2884-
func_name, args, body
2877+
func_name,
2878+
args,
2879+
body.trim()
28852880
));
28862881
}
28872882
}
@@ -3087,13 +3082,12 @@ __wbg_set_wasm(wasm);"
30873082
const idx = wasm.{}();
30883083
wasm.{}.set(idx, obj);
30893084
return idx;
3090-
}}
30913085
",
30923086
alloc, table,
30933087
),
30943088
&format!("{}", view),
30953089
"(obj)",
3096-
&Default::default(),
3090+
&[],
30973091
);
30983092

30993093
Ok(view)
@@ -4672,11 +4666,10 @@ __wbg_set_wasm(wasm);"
46724666
}
46734667
// TODO we could test for more things here, like `Set`s and `Map`s.
46744668
return className;
4675-
}
46764669
",
46774670
"debugString",
46784671
"(val)",
4679-
&Default::default(),
4672+
&[],
46804673
);
46814674
}
46824675

0 commit comments

Comments
 (0)
Please sign in to comment.