pub fn diff_sequence(versions: &[Statute]) -> DiffResult<Vec<StatuteDiff>>Expand description
Computes diffs for a sequence of statute versions.
Returns a vector of diffs, where each diff represents the changes from one version to the next.
§Examples
use legalis_core::{Statute, Effect, EffectType};
use legalis_diff::diff_sequence;
let v1 = Statute::new("law", "Version 1", Effect::new(EffectType::Grant, "Benefit"));
let v2 = Statute::new("law", "Version 2", Effect::new(EffectType::Grant, "Benefit"));
let v3 = Statute::new("law", "Version 3", Effect::new(EffectType::Grant, "Benefit"));
let versions = vec![v1, v2, v3];
let diffs = diff_sequence(&versions).unwrap();
// Should have 2 diffs for 3 versions (v1->v2, v2->v3)
assert_eq!(diffs.len(), 2);§Errors
Returns DiffError::IdMismatch if any statutes have different IDs.