use rustdoc_types::{Id, Item};
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
pub trait CommonCrates {
fn crate_version(&self) -> String;
fn index(&self) -> HashMap<Id, Item>;
}
impl CommonCrates for rustdoc_types::Crate {
fn crate_version(&self) -> String {
self.crate_version.clone().unwrap_or("latest".to_string())
}
fn index(&self) -> HashMap<Id, Item> {
self.index.clone()
}
}
impl CommonCrates for Crate {
fn crate_version(&self) -> String {
self.crate_version.clone().unwrap_or("latest".to_string())
}
fn index(&self) -> HashMap<Id, Item> {
self.index.clone()
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct Crate {
pub root: Id,
pub crate_version: Option<String>,
pub includes_private: bool,
pub index: HashMap<Id, Item>,
pub format_version: u32,
}