fragmentation/diff

Types

A change between two fragment trees.

pub type Change {
  Added(fragment: fragmentation.Fragment)
  Removed(fragment: fragmentation.Fragment)
  Modified(
    old: fragmentation.Fragment,
    new: fragmentation.Fragment,
  )
  Unchanged(fragment: fragmentation.Fragment)
}

Constructors

Values

pub fn diff(
  old: fragmentation.Fragment,
  new: fragmentation.Fragment,
) -> List(Change)

Diff two fragment trees by their roots. Compares structurally: same hash = unchanged, different hash = modified. Children compared positionally.

pub fn summary(changes: List(Change)) -> #(Int, Int, Int, Int)

Summarize a list of changes: #(added, removed, modified, unchanged).

Search Document