use tishlang_bytecode::deserialize;
use tishlang_vm::Vm;
#[cfg(feature = "gpu")]
pub mod gpu;
#[cfg(not(feature = "browser"))]
pub fn run_wasi(chunk: &[u8]) -> Result<(), String> {
let chunk = deserialize(chunk)?;
let mut vm = Vm::new();
vm.run(&chunk)?;
Ok(())
}
#[cfg(feature = "browser")]
use wasm_bindgen::prelude::*;
#[cfg(feature = "browser")]
#[wasm_bindgen]
pub fn run(chunk: Vec<u8>) -> Result<(), JsValue> {
let chunk = deserialize(&chunk).map_err(|e| JsValue::from_str(&e))?;
let mut vm = Vm::new();
vm.run(&chunk).map_err(|e| JsValue::from_str(&e))?;
Ok(())
}