pub use multimap::MultiMap; pub fn custom_sections(bytes: &[u8]) -> Result>, String> { use wasmparser::Parser; use wasmparser::Payload; Parser::new(0) .parse_all(bytes) .filter_map(|payload| { let payload = match payload { Ok(payload) => payload, Err(e) => return Some(Err(e.to_string())), }; match payload { Payload::CustomSection(reader) => { let name = reader.name().to_string(); let data = reader.data().to_vec(); Some(Ok((name, data))) } _ => None, } }) .collect() }