CircleUpdates.update constructor
Implementation
CircleUpdates.update(Set<Circle> previous, Set<Circle> current) {
final Map<CircleId, Circle> oldCircles = circleToMap(previous);
final Map<CircleId, Circle> currCircles = circleToMap(current);
final Set<CircleId> oldIds = oldCircles.keys.toSet();
final Set<CircleId> currIds = currCircles.keys.toSet();
final Set<CircleId> _toDelete = oldIds.difference(currIds);
final Set<Circle> _toInsert = Set<Circle>.from(
currIds.difference(oldIds).map((id) => currCircles[id]).toSet());
final Set<Circle> _toUpdate = Set<Circle>.from(currIds
.intersection(oldIds)
.map((id) => currCircles[id])
.where((x) => isChanged(x!, oldCircles))
.toSet());
insertSet = _toInsert;
deleteSet = _toDelete;
updateSet = _toUpdate;
}