| 419 | /// console.log(struct_members === expected_struct_members); // Output should be "true" |
| 420 | #[wasm_bindgen(js_name = "getStructMembers")] |
| 421 | pub fn get_struct_members(&self, struct_name: String) -> Result<Array, String> { |
| 422 | let struct_id = IdentifierNative::from_str(&struct_name).map_err(|e| e.to_string())?; |
| 423 | |
| 424 | let program_struct = self |
| 425 | .0 |
| 426 | .get_struct(&struct_id) |
| 427 | .map_err(|_| format!("struct {} not found in {}", struct_name, self.0.id()))?; |
| 428 | |
| 429 | let struct_members = Array::new_with_length(program_struct.members().len() as u32); |
| 430 | for (index, (name, member_type)) in program_struct.members().iter().enumerate() { |
| 431 | let input = self.get_plaintext_input(member_type, None, Some(name.to_string()))?; |
| 432 | struct_members.set(index as u32, input.into()); |
| 433 | } |
| 434 | |
| 435 | Ok(struct_members) |
| 436 | } |
| 437 | |
| 438 | /// Get the credits.aleo program |
| 439 | /// |