wasm_metadata/
utils.rs

1use anyhow::Result;
2
3pub(crate) fn name_map(map: &wasmparser::NameMap<'_>) -> Result<wasm_encoder::NameMap> {
4    let mut out = wasm_encoder::NameMap::new();
5    for m in map.clone().into_iter() {
6        let m = m?;
7        out.append(m.index, m.name);
8    }
9    Ok(out)
10}
11
12pub(crate) fn indirect_name_map(
13    map: &wasmparser::IndirectNameMap<'_>,
14) -> Result<wasm_encoder::IndirectNameMap> {
15    let mut out = wasm_encoder::IndirectNameMap::new();
16    for m in map.clone().into_iter() {
17        let m = m?;
18        out.append(m.index, &name_map(&m.names)?);
19    }
20    Ok(out)
21}