Diff Module
Pure diff functions between item snapshots. No UI types involved.
Functions and values
| Function or value |
Description
|
Full Usage:
apply collection changes
Parameters:
ObservableCollection<'T>
changes : Change<'T> list
Type parameters: 'T |
Apply changes to a collection, in order.
|
Full Usage:
keyed keyOf oldItems newItems
Parameters:
'T -> 'K
oldItems : IReadOnlyList<'T>
newItems : IReadOnlyList<'T>
Returns: Result<Change<'T> list, DuplicateKeys<'K>>
Type parameters: 'T, 'K (requires equality and equality) |
Compute the minimal changes that turn oldItems into newItems, matching items by keyOf. A key that survives while its item changed produces a Set. Returns DuplicateKeys when either side repeats a key.
|
Full Usage:
structural oldItems newItems
Parameters:
IReadOnlyList<'T>
newItems : IReadOnlyList<'T>
Returns: Change<'T> list
Type parameters: 'T (requires equality) |
Compute changes that turn oldItems into newItems using structural equality, without keys. A remove and insert that meet at one position collapse into a single Set. Repeated values are allowed. Cost is O(old count * new count) time and space.
|
MVUish.Avalonia