Splitting vweb into multiple modules

This commit is contained in:
2023-12-09 13:12:38 -06:00
parent 66e7e1884e
commit ca79642e43
8 changed files with 193 additions and 171 deletions
+31
View File
@@ -0,0 +1,31 @@
use serde::{Deserialize, Serialize};
use wasm_bindgen::prelude::wasm_bindgen;
use vasm_core::parse_error::AssembleError;
#[wasm_bindgen(inspectable, getter_with_clone)]
#[derive(Serialize, Deserialize)]
pub struct JsVasmError {
pub line_number: usize,
pub message: String
}
impl From<AssembleError> for JsVasmError {
fn from(value: AssembleError) -> Self {
let line = match value.clone() {
AssembleError::ParseError(loc, _) => loc.line_num,
AssembleError::EquResolveError(loc, _, _) => loc.line_num,
AssembleError::EquDuplicateError(loc, _) => loc.line_num,
AssembleError::OrgResolveError(loc, _) => loc.line_num,
AssembleError::ArgError(loc, _) => loc.line_num,
AssembleError::NoCode => 0,
AssembleError::IncludeError(loc, _) => loc.line_num,
AssembleError::FileError(_) => 0,
AssembleError::MacroError(loc) => loc.line_num,
};
return JsVasmError {
line_number: line,
message: value.message()
}
}
}