summaryrefslogtreecommitdiff
path: root/crates/cli/wat.rs
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2023-12-04 01:53:09 +0100
committerHenry Gressmann <mail@henrygressmann.de>2023-12-04 01:53:09 +0100
commit829db60c869ea5ec9be37e6fc2ad94c2965d63d4 (patch)
treee007a6885b4d8425d05d09f9d1297c3a599f6c30 /crates/cli/wat.rs
parent1fb52089715631f4edb2abdc592547d0f5121161 (diff)
feat: add wat support to cli
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
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")
+}