Skip to main content

compute_diff_rows

Function compute_diff_rows 

Source
pub fn compute_diff_rows(
    from_report: &LangReport,
    to_report: &LangReport,
) -> Vec<DiffRow>
Expand description

Compute diff rows from two lang reports. Compute diff rows between two language reports.

Each row captures the delta between old and new values for a language. Languages with no change are omitted.

ยงExamples

use tokmd_types::{LangReport, LangRow, Totals, ChildrenMode};
use tokmd_format::compute_diff_rows;

let from = LangReport {
    rows: vec![LangRow {
        lang: "Rust".into(), code: 100, lines: 150,
        files: 5, bytes: 4000, tokens: 1000, avg_lines: 30,
    }],
    total: Totals { code: 100, lines: 150, files: 5, bytes: 4000, tokens: 1000, avg_lines: 30 },
    with_files: true, children: ChildrenMode::Collapse, top: 0,
};
let to = LangReport {
    rows: vec![LangRow {
        lang: "Rust".into(), code: 200, lines: 300,
        files: 8, bytes: 8000, tokens: 2000, avg_lines: 38,
    }],
    total: Totals { code: 200, lines: 300, files: 8, bytes: 8000, tokens: 2000, avg_lines: 38 },
    with_files: true, children: ChildrenMode::Collapse, top: 0,
};

let rows = compute_diff_rows(&from, &to);
assert_eq!(rows.len(), 1);
assert_eq!(rows[0].delta_code, 100);