use serde::Deserialize;
mod region;
pub use region::*;
mod branch;
pub use branch::*;
mod expansion;
pub use expansion::*;
mod function;
pub use function::*;
mod file;
pub use file::*;
mod summary;
pub use summary::*;
#[derive(Debug, PartialEq, Deserialize)]
pub struct CoverageReport<'a> {
pub version: &'a str,
#[serde(rename = "type")]
pub export_type: &'a str,
pub data: Vec<ExportObject<'a>>,
}
impl<'a> CoverageReport<'a> {
pub fn from_str(s: &str) -> Result<CoverageReport, serde_json::Error> {
Ok(serde_json::from_str(s)?)
}
}
#[derive(Debug, PartialEq, Deserialize)]
pub struct ExportObject<'a> {
#[serde(rename = "totals")]
pub summary: Summary,
#[serde(borrow)]
pub files: Vec<FileMetrics<'a>>,
#[serde(borrow)]
pub functions: Vec<FunctionMetrics<'a>>,
}