summaryrefslogtreecommitdiff
path: root/crates/cli/wat.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/cli/wat.rs')
-rw-r--r--crates/cli/wat.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/cli/wat.rs b/crates/cli/wat.rs
new file mode 100644
index 0000000..22d931d
--- /dev/null
+++ b/crates/cli/wat.rs
@@ -0,0 +1,10 @@
+use wast::{
+ parser::{self, ParseBuffer},
+ Wat,
+};
+
+pub fn wat2wasm<'a>(wat: &str) -> Vec<u8> {
+ let buf = ParseBuffer::new(wat).expect("failed to create parse buffer");
+ let mut module = parser::parse::<Wat>(&buf).expect("failed to parse wat");
+ module.encode().expect("failed to encode wat")
+}