rustdoc_json_to_markdown/
parser.rs1use anyhow::{Context, Result};
4use rustdoc_types::Crate;
5use std::path::Path;
6
7pub fn load_rustdoc_json(path: &Path) -> Result<Crate> {
9 let contents = std::fs::read_to_string(path)
10 .with_context(|| format!("Failed to read file: {}", path.display()))?;
11
12 let crate_data: Crate = serde_json::from_str(&contents)
13 .with_context(|| format!("Failed to parse JSON from: {}", path.display()))?;
14
15 println!("Loaded crate: {} (format version: {})",
16 crate_data.index.get(&crate_data.root)
17 .and_then(|item| item.name.as_deref())
18 .unwrap_or("unknown"),
19 crate_data.format_version);
20
21 Ok(crate_data)
22}