changesSince method

Iterable<T> changesSince(
  1. DiagramPersistentList<T> previous
)

Implementation

Iterable<T> changesSince(DiagramPersistentList<T> previous) sync* {
  if (length != previous.length) {
    throw ArgumentError("Changes require equal-length snapshots");
  }
  for (var chunk = 0; chunk < _chunks.length; chunk++) {
    if (identical(_chunks[chunk], previous._chunks[chunk])) continue;
    for (var i = 0; i < _chunks[chunk].length; i++) {
      if (!identical(_chunks[chunk][i], previous._chunks[chunk][i])) {
        yield _chunks[chunk][i];
      }
    }
  }
}