fn try_from()

in ingester/lib/src/symbolicator/mod.rs [399:429]


    fn try_from(value: &json::Module<'_>) -> Result<Self, Self::Error> {
        Ok(Module {
            base_address: parse_hex(
                value
                    .base_address
                    .as_ref()
                    .context("missing base_address")?,
            )?,
            filename: value.filename.as_ref().map(|s| s.to_string()),
            // Fix the debug file entries of modules to only be the file basenames. This is fixed
            // by bug 1931237 but it will take a while to get into release.
            // `unwrap` will never fail because `rsplit` is guaranteed to return at least one
            // value.
            debug_file: value
                .debug_file
                .as_ref()
                .and_then(|s| (!s.is_empty()).then_some(s))
                .context("missing debug_file")?
                .rsplit("/")
                .next()
                .unwrap()
                .into(),
            debug_id: value
                .debug_id
                .as_ref()
                .and_then(|s| (!s.is_empty()).then_some(s))
                .context("missing debug_id")?
                .parse()
                .with_context(|| format!("'{}'", value.debug_id.as_ref().unwrap()))?,
        })
    }