A human-friendly DSL for ATProto Lexicons

Oops, fix wasm build

+21 -1
+21 -1
mlf-wasm/src/lib.rs
··· 269 269 #[wasm_bindgen] 270 270 pub fn generate_code(source: &str, namespace: &str, generator_name: &str) -> JsValue { 271 271 // Load standard library 272 - let workspace = match mlf_lang::Workspace::with_std() { 272 + let mut workspace = match mlf_lang::Workspace::with_std() { 273 273 Ok(ws) => ws, 274 274 Err(e) => { 275 275 let result = GenerateCodeResult { ··· 293 293 return serde_wasm_bindgen::to_value(&result).unwrap(); 294 294 } 295 295 }; 296 + 297 + // Add the module to workspace for resolution 298 + if let Err(e) = workspace.add_module(namespace.to_string(), lexicon.clone()) { 299 + let result = GenerateCodeResult { 300 + success: false, 301 + code: None, 302 + error: Some(format!("Failed to add module: {:?}", e)), 303 + }; 304 + return serde_wasm_bindgen::to_value(&result).unwrap(); 305 + } 306 + 307 + // Resolve types 308 + if let Err(e) = workspace.resolve() { 309 + let result = GenerateCodeResult { 310 + success: false, 311 + code: None, 312 + error: Some(format!("Type resolution error: {:?}", e)), 313 + }; 314 + return serde_wasm_bindgen::to_value(&result).unwrap(); 315 + } 296 316 297 317 // Find the generator 298 318 let generator = match mlf_codegen::plugin::find_generator(generator_name) {